設計模式有個重要的格言:組合優先於繼承。一般來說組合要優先於繼承,因為參與者之間的繫結更加寬鬆,在重用、結構和修改等方面有很多優點,這點與繼承不同,繼承具體類或者所繼承的類中包含已經實現的方法時,存在一種緊密繫結的缺點。介面卡在電氣領域非常常見,兩項轉三項插座,usb轉換頭等等。介面卡就是為了解決相容問題出現的,你不必重新開發一套專用的功能。而是只要簡單改造,就可以繼續適用。比如web上常見的ui模組等等。
由於類介面卡包含雙重繼承,因此往往會繼承乙個類,並實現乙個介面,來實現。也可以使用trait.
圖3-1 使用繼承的介面卡類圖
圖3-2 使用組合的介面卡類圖
**示例:
介面卡模式(類介面卡 物件介面卡)
做個筆記 引用 public inte ce usb public inte ce psp public class usber implements usb 類介面卡 psp適用usb介面 public class usbadapter extends usber implements psp 物...
介面卡模式 預設介面卡,類介面卡,物件介面卡
模式思想 改變乙個類的對外介面 增加或減少 以滿足不同外部呼叫者的需求 角色成員 目標介面 target 客戶所期待的介面。目標可以是具體的或抽象的類,也可以是介面。需要適配的類 adaptee 需要適配的類或適配者類。介面卡 adapter 通過包裝乙個需要適配的物件,把原介面轉換成目標介面。適配...
設計模式 介面卡模式 類介面卡 物件介面卡
乙個小例子,便於理解,上 這是我們造的。現在想用這個方法。public class adaptee 類介面卡。對我們想要的方法封裝一下,target就能像之前一樣,呼叫request方法即可。public class adapter1 extends adaptee implements targe...