8.oo模式:介面卡模式——將乙個類的介面,轉換成客戶期望的另乙個介面。介面卡讓原本不相容的類可以合作無間。
例子:用火雞去冒充鴨子
public inte***ce duck
public inte***ce turkey
public class mallardduck implements duckpublic void fly()
}
public class wildturkey implements turkeypublic void fly()
}
public class turkeyadapter implements duckpublic void quack()
public void fly()
}}
public class ducktestdrivestatic void testduck(duck duck)
}
public class ducktestdrive以下是上述類的關係圖:static void testduck(duck duck)
}
有沒有感覺和前面介紹的裝飾者模式很像?
我的理解:
裝飾者模式:用於拓展我們包裝的物件的行為和責任,並不是「簡單傳送」就算了。
介面卡模式:一定會進行介面的轉換。
設計模式 介面卡模式 類介面卡 物件介面卡
乙個小例子,便於理解,上 這是我們造的。現在想用這個方法。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...