擴充套件:
介面卡模式最開始的應用實在工業上,如下圖a、b兩個圖框代表已經塑模成型的物體a和物體b,那現在要求把a和b安裝在一起使用,如何安裝?兩者的介面不一致,是不可能安裝在一起使用的,那怎麼辦?引入乙個物體c,即
其中的物體c就是我們說的介面卡,它在中間起到了角色轉換的作用,把原有的長條形介面轉換了三角形介面。在我們軟體業的設計模式中,介面卡模式也是相似的功能。
1.target
目標角色
該角色定義把其他類轉換為何種介面,也就是我們的期望介面。
public inte***ce target
public class concretetarget implements target
}
2.adaptee
被適配者
該角色即源角色。
public class adaptee
}
3.adapter
介面卡
該角色即介面卡模式的核心角色,它的職責十分簡單,就是把 adaptee 轉化成 target,怎麼轉化?通過繼承或者類關聯的方式。
public class adapter extends adaptee implements target
}
源角色在原有的系統中還是可以正常使用,而在目標角色中也可以充當新的演員。
某一天,突然不想要介面卡,沒問題,刪除掉這個介面卡就可以了,其他的**都不用修改,基本上就類似乙個靈活的構件,想用就用,不想就解除安裝。
1. 類介面卡 通過繼承關係進行適配的介面卡叫做類介面卡,類介面卡一般是通過覆寫源角色的方法進行擴充套件,例如
public class adapter extends adaptee implements target
}
2. 物件介面卡 通過類的關聯關係進行耦合的介面卡叫做物件介面卡,一般持有幾個物件的引用,在設計時也比較靈活,例如public class adapter implements target
public void request()
}
例如新建立的類想要適應乙個已經投產的介面,修改是不可能的了,介面卡就是最好的選擇。
熟悉 android 開發的肯定都接觸過listview
等,使用它們都需要我們設定乙個介面卡(繼承自baseadapter
)。因為布局的繪製需要的都是view
物件,而我們的資料全是千奇百怪,所以就需要有這麼乙個介面卡,將各種各樣的資料轉化成view
物件。
設計模式分類以及六大設計原則
介面卡模式(類介面卡 物件介面卡)
做個筆記 引用 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...