java設計模式連載(6) --適配者模式
名稱:Adapter
意圖: 將一個類的介面轉換成客戶希望的另外一個介面。A d a p t e r 模式使得原本由於介面不相容而不能一起工作的那些類可以一起工作。
適用性:
你想使用一個已經存在的類,而它的介面不符合你的需求。
你想建立一個可以複用的類,該類可以與其他不相關的類或不可預見的類(即那些介面可能不一定相容的類)協同工作。
(僅適用於對象A d a p t e r )你想使用一些已經存在的子類,但是不可能對每一個都進行子類化以匹配它們的介面。對象適配器可以適配它的父類介面。
執行個體:
1. 構建一個目標介面 ,想利用這個介面 但是不能改變這個介面的源碼。假設一把鎖這個介面
package Adapter_Pattern;public interface Lock { //目標鎖 public void ordinarylockFunction(); //普通鎖功能 }2. 利用密碼鎖的功能 寫一個Adaptee
package Adapter_Pattern;public class Tricklock{ //Adapteepublic void TricklockFunction(){ System.out.println("密碼鎖可以用來鎖保險柜"); }}3. 利用普通鎖來構建一個適配器
package Adapter_Pattern;public class Ordinarylock implements Lock{ //Adapter private Tricklock tricklock; public Ordinarylock(Tricklock tricklock){ this.tricklock = tricklock; } public void ordinarylockFunction() {
tricklock.TricklockFunction(); } }
4. 測試類別
package Adapter_Pattern;public class Test { /** * 要使一個目標鎖具有密碼鎖的功能 ,組合而成。 * @param args*/ public static void main(String[] args) { Lock lock = new Ordinarylock(new Tricklock()); lock.ordinarylockFunction(); //現在鎖具有鎖住保險柜的功能了 }}5. 多謝瀏覽,敬請斧正。