日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

3.1 Adapter(适配器)

發布時間:2025/3/20 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 3.1 Adapter(适配器) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

【返回目錄】

某地新建了一座懷舊風格的酒店,一切都按照上個世紀中期的歐美風格來設計。當地一個頗有實力的電器批發商好不容易搶到了一張訂單,這家酒店要購進100個懷舊風格的電風扇。批發商找到當地一個頗有規模的電器生產廠家,該廠家正好有一個型號的電風扇是懷舊風格的,但不巧的是,這批電風扇都是兩向插頭,而酒店需要的是三向的。你認為生產廠家會怎么辦,告訴批發商:“對不起,這單生意我們做不了?!被蚴恰叭?#xff0c;告訴酒店老板,讓他們修改電路,給電風扇準備好一個兩向插口?!蹦?#xff1f;顯然,任何一個正常的老板都知道,最明智的辦法就是讓電風扇具備一個二轉三的轉接頭,這樣的做法是最快也是最有效率的。

Adapter(適配器)模式就是用來解決這樣場景的問題的,根據客戶的需要轉換類的接口,使得原本不兼容的類可以在一起工作。

1: using System; 2:? 3: namespace Autumoon.DesignPatterns.Adapter 4: { 5: public class OriginalFan 6: { 7: public virtual void WorkWithTwoPins(int pinAmount) 8: { 9: if (pinAmount != 2) 10: { 11: return; 12: } 13:? 14: Console.WriteLine("This fan can work with 2 pins."); 15: } 16: } 17:? 18: public class HotelFan 19: { 20: public void WorkWithThreePins(int pinAmount) 21: { 22: if (pinAmount != 3) 23: { 24: return; 25: } 26:? 27: Console.WriteLine("This fan can work with 3 pins."); 28: } 29: } 30:? 31: public class FanAdapter : OriginalFan 32: { 33: private HotelFan hotelFan = new HotelFan(); 34:? 35: public override void WorkWithTwoPins(int pinAmount) 36: { 37: hotelFan.WorkWithThreePins(pinAmount); 38: } 39: } 40:? 41: public static class FanUsage 42: { 43: public static void ConnectFan(OriginalFan originalFan) 44: { 45: originalFan.WorkWithTwoPins(3); 46: } 47: } 48: }

從上面的代碼我們可以看到,我們有一個原廠生產的兩向插頭的電風扇OriginalFan類和一個酒店所使用的三項插頭的HotelFan類,以及這二者中間所采用的轉接頭FanAdapter。接下來我們就用這個轉接頭使得這種原本兩向插頭的電風扇可以在酒店中使用吧。

1: static void Main(string[] args) 2: { 3: OriginalFan originalFan = new FanAdapter(); 4: FanUsage.ConnectFan(originalFan); 5:? 6: Console.ReadLine(); 7: }

總結

以上是生活随笔為你收集整理的3.1 Adapter(适配器)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。