什麼是介面卡模式:
將乙個介面轉換成客戶希望的另乙個介面,使介面不相容的那些類可以一起工作。介面卡模式既可以作為類結構型模式,也可以作為物件結構型模式。
介面卡的分類:
介面卡中有類介面卡和物件介面卡,兩者的區別在於介面卡與適配者的關係不同,物件介面卡中兩者之間的關係是關聯關係, 類介面卡模式中兩者是繼承關係。
主要優點:
1、將目標類和適配者類解耦,通過引入乙個適配者類,無需修改原有結構。
2、增加類的透明性和復用性,同乙個適配者類可以在多個不同的系統中復用
3、靈活性和擴充套件性,介面卡更換方便,不用修改原有**,符合開閉原則,
主要缺點:
1、不能同時適配多個適配者
2、適配者類不能為最終類。
3、類介面卡模式中的目標類只能為介面不能為類
適用場景:
1、系統需要使用一些現有的類,而這些類的介面(如方法名)不符合系統的需要,甚至沒有這些類的源**。
2、想建立乙個可以重複使用的類,用於與一些彼此之間沒有太大關聯的一些類,包括一些可能在將來引進的類一起工作。
設計模式 結構型 介面卡
pragma once ifndef adapter h define adapter h 需要被adapt 的類 class target virtual target virtual void request 0 與被adapt 物件提供不相容介面的類 class adaptee adaptee...
介面卡模式(結構型)
介面卡模式的定義 將乙個類的介面轉換成客戶希望的另外乙個介面,介面卡模式使得原本因為介面不相容而不能一起工作的那些類可以一起工作。介面卡模式的本質 轉換匹配 復用功能 介面卡模式的類別 類介面卡 物件介面卡 public inte ce target 介面卡 吧adaptee適配成客戶端需要的tar...
介面卡模式(結構型)
介面卡模式 將乙個類的介面,轉換成客戶期望的另乙個介面。介面卡讓原本介面不相容的類可以合作無間。介面卡模式類圖 良好的體現了oo設計原則 組合 看下面示例來進行理解 介面卡模式示例 鴨子介面卡實現了鴨子介面 被客戶端呼叫的介面 通過組合的方式,使用被適配物件 火雞 的的引用,將client對鴨子介面...