橋接模式理解

2021-09-01 21:10:14 字數 850 閱讀 2745

最近上班輕鬆,看看設計模式啥的,看到橋接模式,有些心得,寫下來以便以後回憶回憶。

橋接模式的好處就不多說了,無非就是實現和抽象分離,各自變化等。

進入主題吧:

個人理解橋接模式:

比如蠟筆,和毛筆這兩個東西,如果用蠟筆畫畫,我們知道蠟筆的顏色和蠟筆本身是偶會在一起的,不像毛筆,毛筆本身是沒有顏色的,如果我要畫畫,需要

12種顏色,型號有大中小,那麼就需要

36支蠟筆,而反觀毛筆,我只需要

12種顏料,然後大中小三種毛筆型別,如果我們用物件導向思想來設計,那麼蠟筆需要

36個類,而毛筆只需要

15個類。為什麼會出現這種情況呢?

其實這個道理很簡單,就是毛筆它的顏色沒有和它本身繫結在一起,也就是說它們解耦了。

如果毛筆和顏色繫結了那麼就如圖所示:

從這裡看,我們看到有36個類,如果用橋接模式就變成如下圖了:

可以明顯看到類減少了。

體會:其實說白了,就是將類的功能職責最小話,即單一職責。我們這裡就是抽取了筆中,顏

色這個維度進行抽象.然後利用組合,也符合了物件導向設計思想的優先使用組合而非繼承這個

思想。當乙個類的子類需要擴充套件時,如果要在兩個維度進行擴充套件,那麼就可以使用bridge模式。

橋接模式(Bridge)

個人理解 橋接模式的精髓在於維護乙個抽象物件,並抽取這個物件的抽象部分。uml類圖 實現 public inte ce icomponent public class componenta icomponent public class componentb icomponent public ab...

bridge pattern 橋接模式

bridge模式又稱為handle body模式。在軟體系統中,經常面臨著 某些結構複雜的物件 的建立工作,由於需求的變化,這些物件經常面臨著劇烈的變化,但是他們卻擁有比較穩定一致的介面。大部分建立型模式,就是為了解決如何向 客戶程式 隔離出 這些易變物件 從而使得 依賴這些易變物件的客戶程式 不隨...

php 橋接模式

交接模式之模擬毛筆 1 實現類介面 inte ce color 2 具體實現顏色類 class red implements color class green implements color class blue implements color class white implements c...