設計模式 介面卡模式

2021-06-28 23:24:51 字數 1250 閱讀 3335

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

作用:透明:通過介面卡,客戶端可以呼叫同一介面。

重用:復用現存的類

低耦合:將目標類與適配者類解耦,通過引用乙個介面卡類重用現有的適配者類,而無需修改源**(開閉原則:對修改關閉,對擴充開放)

結構:

情景:

顧客到了一家餐廳,對服務員說,我要喝牛奶。但是餐廳中卻沒有牛奶**,只有果汁,所以服務員就對顧客說,能不能換成果汁呢?所以,顧客喝了果汁。

上例中,牛奶就是顧客要的東西,也就是目標target,是具體的或抽象的類,也可以是介面。

果汁是餐廳現有**的,也就是需要適配的類adaptee。

服務員在其中溝通解決,相當於介面卡adapter,將原介面轉換成目標介面。

上**

/**

* 定義牛奶介面,餐廳沒有的

*/public inte***ce milk

/**

* 需要適配的類

*/public class juice

}

方式一:

/**

* 實現milk介面

* 將橘汁成為引數,直接更換

*/public class juiceadapter implements milk

@override

public void drinkmilk()

}

方式二

/**

* 採用繼承方法的

*/public class juiceadapterextends extends juice implements milk

}

測試:

public class waiter 

//服務

public void serve()

public static void main(string args)

}

執行結果:

通過溝通,將牛奶換成juice

喝橘汁*************************===

喝橘汁

設計模式 介面卡模式 類介面卡 物件介面卡

乙個小例子,便於理解,上 這是我們造的。現在想用這個方法。public class adaptee 類介面卡。對我們想要的方法封裝一下,target就能像之前一樣,呼叫request方法即可。public class adapter1 extends adaptee implements targe...

設計模式之介面卡模式(類介面卡模式)

介面卡模式,即定義乙個包裝類,用於包裝不相容介面的物件 包裝類 介面卡adapter 被包裝物件 適配者adaptee 被適配的類 把乙個類的介面變換成客戶端所期待的另一種介面,從而使原本介面不匹配而無法一起工作的兩個類能夠在一起工作。介面卡模式的形式分為 類的介面卡模式和物件的介面卡模式 模式原理...

設計模式 介面卡模式

01 02 author rollen holt 設計模式之 介面卡模式 03 04 05 inte ce window 11 12 abstract class windowadapter 16 public void close 19 public void activated 22 publi...