橋接模式
毛筆和蠟筆
假如我們需要大中小3種型號的畫筆,能夠繪制12種不同的顏色,如果使用蠟筆,需要準備3×12 = 36支
但如果使用毛筆的話,只需要提供3種型號的毛筆,外加12個顏料盒即可,涉及到的對象個數僅為 3 + 12 = 15,遠小于36,卻能實現與36支蠟筆同樣的功能
如果增加一種新型號的畫筆,并且也需要具有12種顏色,對應的蠟筆需增加12支,而毛筆只需增加一支為什么會這樣呢?
通過分析我們可以得知:在蠟筆中,顏色和型號兩個不同的變化維度(即兩個不同的變化原因)融合在一起,無論是對顏色進行擴展還是對型號進行擴展都勢必會影響另一個維度
但在毛筆中,顏色和型號實現了分離,增加新的顏色或者型號對另一方都沒有任何影響
如果使用軟件工程中的術語,我們可以認為在蠟筆中顏色和型號之間存在較強的耦合性,而毛筆很好地將二者解耦,使用起來非常靈活,擴展也更為方便
總結:
實現系統時可能有多角度分類 / 多緯度處理(上述可以按照大小分類、按照顏色分類),每一種分類都可能變化,他的變化與其他分類產生強依賴(緊耦合)
而橋接模式就是用來將有依賴的【變化】進行分離的一種設計模式
Grass Mud Horse

浙公網安備 33010602011771號