適配者模式可以比喻成這個場景,只有usb介面的電腦電腦、ps/2介面的鍵盤、轉接線,電腦要實現打字功能就要用到鍵盤,因為他們兩介面不一致沒發直接連線所以要借助轉接線,轉接線就相當於乙個介面卡(adapter),而鍵盤就是就是被適配者(adaptee),電腦是乙個客戶端(client)。
下面用**來表述他們的關係。
首先定義乙個客戶端,
//客戶端需要打字功能
public class client
}
定義出那個鍵盤,它有打字功能
//被適配者
public class adaptee
}
然後定義乙個介面,裡面有乙個處理客戶端請求的方法
public inte***ce target
然後去實現這個介面,就是需要用來轉換的adapter,客戶端只和adapter產生聯絡,被適配者也只和adapter產生聯絡。通過這個adapter就相當於完成介面的轉換。這就是乙個簡單的適配者模式的使用例子
public class adapter2 implements target
@override
public void hsndleclient()
}
設計模式 適配者模式
今天是418旅遊節,我也出門去玩玩,突然看到乙個外國友人在問路,然而他問的那個人似乎聽不懂他在說啥,我走上前去,憑著蹩腳的口語成功幫助了外國友人,感覺自己胸前的紅領巾更亮了。介面卡模式就是將原本兩個不相容的介面,通過某種方式使其能夠共同工作。介面卡模式也分為類結構性模式和物件結構性模式。前者相比後者...
設計模式 之 適配者模式
23種設計模式原始碼 建立型模式,共五種 工廠方法模式 抽象工廠模式 單例模式 建造者模式 原型模式 結構型模式,共七種 介面卡模式 裝飾器模式 模式 外觀模式 橋接模式 組合模式 享元模式 行為型模式,共十一種 策略模式 模板方法模式 觀察者模式 迭代子模式 責任鏈模式 命令模式 備忘錄模式 狀態...
適配者模式 Qt Model的轉接
在qt中,通過寫model,讓tableview呈現不同的樣式。有時候會遇到比較蛋疼的局面。之前寫的乙個model很適合,但是不支樹形顯示。現在的需求就是要顯示樹形,其它的跟之前的一樣。這種情況下,是重寫乙個呢,還是想想別的辦法。有兩種思路可以考慮,乙個是派生,乙個是適配。派生的乙個model,並要...