設計模式:適配器,橋接,代理模式的區別

適配器模式:

將一個類的接口轉換成客戶希望的另一個接口,使得原本由於接口不兼容而不能一起工作的那些類可以一起工作。

比如:手機的usb數據線可以被看做適配器,不同的手機通過不同的usb數據線連接到電腦相同的usb接口上。還有,棧和隊列被稱爲容器適配器,他們本身都是基於線性表來實現的,但是對外提供了特定的操作接口。

參考:https://www.cnblogs.com/-crazysnail/p/3949480.html

適配器模式舉例:usb接口

橋接模式:

主要目的是將一個對象的主要因素抽象出來,不是通過類繼承的方式來滿足這個因素的變化,而是通過對象組合的方式來依賴因素的抽象。這樣當依賴的因素的具體實現發生變化後,而我們具體的引用卻不用發生改變,因爲我們的對象是依賴於抽象的,而不是具體的實現。應對多維度的變化(圖形:矩形 圓形 三角形等   顏色:白色 黃色 黑色 組合在一起,有兩個變化因素)

參考:https://www.cnblogs.com/hegezhou_hot/archive/2010/12/10/1902185.html

https://blog.csdn.net/hguisu/article/details/7529194

使用場景:

(1)當一個對象有多個變化因素的時候,通過抽象這些變化因素,將依賴具體實現,修改爲依賴抽象。

(2)當某個變化對象在多個對象中共享時,我們可以抽象出這個變化因素,然後實現這些不同的變化因素。

(3)當我們期望一個對象的多個變化因素可以動態的變化,而且不影響客戶的程序的使用時。

代理模式:

之前有講過:https://mp.csdn.net/postedit/82844237

不同點:

參考:https://blog.csdn.net/lulei9876/article/details/39994825

適配器模式(原對象,適配對象,目標對象):解決了不兼容問題,將類自己的接口包裹在一個已存在的接口中,適配器類與原有類有相同的接口。將一個類通過某種方式轉變爲另一個類。

代理模式:用一個類去調用另一個類的方法,不對這個類進行直接操作。特點在於隔離,隔離調用類與被調用類的關係,通過一個代理類與調用。將一個類轉換成具體的操作類。

橋接模式:以組合的方式依賴因素的抽象。適應多維度的變化。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章