概念:
什麼是介面卡模式?解決預期目標介面與現有介面不一致的相容性問題。
解釋一下:現有方法是adaptee中持有的sampleoperation1(),與預期目標的方法sampleoperation1()、sampleoperation2()不一致,此時借用乙個adapter類繼承於adaptee,並實現了target中的兩個方法,注意理解此處sampleoperation1()的實現是adaptee實現的,而sampleoperation2()是由adapter實現的,由此順利解決了問題~
:目標(target)角色:包含
預期所要實現的介面。
package 介面卡模式;
public inte***ce target
源(adapee)角色:現有介面。
package 介面卡模式;
public class adaptee
}
介面卡(adaper)角色:繼承了adaptee,完美實現了target方法,介面卡把源介面轉換成目標介面。
package 介面卡模式;
public class adapter extends adaptee implements target
}
測試結果:
adapter's sampleoperation1
adaptee's sampleoperation2
介面卡模式的優點:
1,復用性好,系統需要使用現有的類,而此類的介面不符合預期。那麼通過介面卡模式就可以讓這些功能得到更好的復用,這樣就不用去重構或者修改已有的類。
2,擴充套件性較好,之所以說較好,是因為這種方案處理問題並非最佳,有一定的擴充套件性,但是完全是雙方不想修改原有內容的無奈之舉。
介面卡模式的缺點:
過多的使用介面卡,會讓系統非常零亂,不易整體進行把握。比如,明明看到呼叫的是a介面,其實內部被適配成了b介面的實現,乙個系統如果太多出現這種情況,無異於一場災難。因此如果不是很有必要,可以不使用介面卡,而是直接對系統進行重構。
設計模式 結構型模式
介面卡模式 adapter pattern 橋接模式 bridge pattern 過濾器模式 filter criteria pattern 組合模式 composite pattern 裝飾器模式 decorator pattern 外觀模式 facade pattern 享元模式 flywei...
設計模式 結構型模式
proxy 模式 中介 介面卡 adapter 模式 轉換器 1.定義 將乙個類的介面轉換成客戶希望的另外乙個介面,使得原本由於介面不相容而不能一起工作的那些類能一起工作。2.優點 復用了現存的類 將目標類和適配者類解耦,解決了目標類和適配者類介面不一致的問題。3.缺點 更換介面卡的實現過程比較複雜...
設計模式 結構型模式
外觀模式 為子系統中的一組介面提供乙個一致的介面,外觀模式定義了乙個高層介面,這個介面使得這一系統更加容易使用。介面卡模式 將乙個類的介面轉換成客戶希望的另外乙個介面。它使得原本由於介面不相容而不能一起工作的那些類一起工作。橋接模式 將抽象部分與它的實現部分分離,使它們可以獨立地變化。組合模式 將物...