菜鳥對介面卡模式的介紹:
樣例: springmvc中的介面卡模式
注意:介面卡模式,主要用於將既定或既有的類應用於新的介面,也就是將舊功能嫁接到新的介面上,表面上是呼叫新介面,
實質上是老的功能被封裝。介面卡模式不能濫用,否則系統會比較零散。
因為是起到乙個嫁接的作用,所以也是乙個中間媒介的作用。介面卡關鍵在於適配類,這個類需要實現目標介面targetinte***ce(例如:220v電壓),然後將其他既有類或介面的功能(110v,90v,220v)封裝到重寫targetinte***ce的方法裡面。
介面卡模式的目的是讓乙個或多個介面匹配到另外乙個介面上,或者說是乙個介面呼叫和封裝另外乙個或多個介面
待適配介面a(例如110v,90v,200v電壓),適配介面b(例如220v電壓)
b介面歸根結底必須有實現類,它的實現類可以有乙個或多個,一般是多個,否則就不用介面卡了。
a適配b,首先介面卡adapaterimpl實現類必須實現適配介面b,然後讓b中的適配方法呼叫介面a的方法。
兩種思路:1 adapaterimpl 繼承a介面的實現類,從而可以呼叫a介面的方法。 稱為類的介面卡模式(把類適配給目標)。
2 adapaterimpl 類持有介面a的實列物件或者方法的引數包含a介面(作為方法的入參)。 稱為物件的介面卡模式(把物件適配給目標)。
springmvc用的就是該思路。
第三種思路:介面的介面卡:抽象類實現待適配介面,不用的方法去重寫,要保留的方法繼續抽象,將來的例項類繼承該方法,就只需要重寫需要的方法,從而達到只保留想要方法過濾不需要方法的目的。
設計模式之介面卡模式(類介面卡模式)
介面卡模式,即定義乙個包裝類,用於包裝不相容介面的物件 包裝類 介面卡adapter 被包裝物件 適配者adaptee 被適配的類 把乙個類的介面變換成客戶端所期待的另一種介面,從而使原本介面不匹配而無法一起工作的兩個類能夠在一起工作。介面卡模式的形式分為 類的介面卡模式和物件的介面卡模式 模式原理...
設計模式之 介面卡模式
1,介面卡模式把乙個類的介面變換成客戶端所期待的另一種介面,從而使原本因介面不匹配而無法一起工作的兩個類能夠在一起工作 2,介面卡模式有兩種 1 類的介面卡模式 介面卡類繼承源類 這樣介面卡類就繼承了源類有的方法 並實現目標介面,實現在源類中沒有而在介面中有的方法,從而實現介面卡類有目標介面的所有方...
設計模式之介面卡模式
介面卡模式定義 將乙個類的介面,轉換成客戶期望的另乙個介面。介面卡讓原本介面不相容的類可以合作無間。簡單定義 封裝物件,並提供不同的介面。簡單例子 鴨子介面 package headfirst.adapter.ducks public inte ce duck 具體鴨子 package headfi...