當前位置:
首頁 > 最新 > 適配器模式的出現

適配器模式的出現

今天和大家聊聊設計模式里的適配器模式。假設一個裝配電腦的例子,分為以下幾個步驟:

1、舊的硬碟和電源

小李有一台老的台式電腦,硬碟實在是太小了,僅僅40GB,但是除了這個問題外,整機性能還不錯,廢棄不用太可惜了,於是決定取加裝一塊新的硬碟。

在裝機公司為小李的電腦加裝新硬碟的時候,小李也在旁邊觀看,順便了解一些硬體知識。很快,裝機人員把兩塊硬碟都安裝好了,細心的小李發現,這兩塊硬碟的連接方式是不一樣的。

經過裝機人員的耐心講解,小李搞清楚了它們的不同。以前的硬碟是串口的,如圖4.1所示,電腦電源如圖4.2所示,在連接電源的時候是直接連接。

圖 舊的硬碟

圖 電腦電源

2、 加入新的硬碟

現在的新硬碟是並口的,如圖4.3所示,電源的輸出口無法直接連接到新的硬碟上了。於是就有了轉接線,一邊和電源的輸出口連接,一邊和新的硬碟電源輸入口連接,解決了電源輸出介面和硬碟輸入介面不匹配的問題,如圖4.4所示。

圖 新的硬碟

圖 電源轉接線

3、有何問題

如果把上面的問題抽象一下,用對象來描述,那就是:有一個電源類和舊的硬碟類配合工作得很好,現在又有了一個新的硬碟類,現在想讓新的硬碟類和電源類也配合使用,但是發現它們的介面無法匹配,問題就產生了:如何讓原有的電源類的介面能夠適應新的硬碟類的電源介面的需要呢?

4、如何解決

解決方法是採用一個轉接線類,轉接線可以把電源的介面適配成為新的硬碟所需要的介面,那麼這個轉接線類就類似本章的主角——適配器(Adapter)。

用來解決上述問題的一個合理的解決方案就是適配器模式。那麼什麼是適配器模式呢?

1. 適配器模式的定義

將一個類的介面轉換成客戶希望的另外一個介面。適配器模式使得原本由於介面不兼容而不能一起工作的那些類可以一起工作。

2. 應用適配器模式來解決問題的思路

仔細分析上面的問題,問題的根源在於介面的不兼容,功能是基本實現了的,也就是說,只要想辦法讓兩邊的介面匹配起來,就可以復用第一版的功能了。

適配器模式有如下優點:

1、更好的復用性

如果功能是已經有了的,只是介面不兼容,那麼通過適配器模式就可以讓這些功能得到更好的復用。

2、更好的可擴展性

在實現適配器功能的時候,可以調用自己開發的功能,從而自然地擴展系統的功能。

適配器模式有如下缺點。

3、過多地使用適配器,會讓系統非常零亂,不容易整體進行把握

比如,明明看到調用的是A介面,其實內部被適配成了B介面來實現,一個系統如果太多出現這種情況,無異於一場災難。因此如果不是很有必要,可以不使用適配器,而是直接對系統進行重構。

發個小廣告!!!走過路過,不要錯過!新書來啦!!!

註:本公眾號與噹噹店鋪並無從屬關係,僅為大家提供一個便捷購物地址。若有所衝突,純屬巧合,立刪。

麥克叔叔每晚十點說


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 麥克叔叔每晚10點說 的精彩文章:

Thrift服務端的5種工作模式

TAG:麥克叔叔每晚10點說 |