裝飾器 解決什么問題侠讯?
我們采用 字處理的軟件 比如word玖详,sublime 外面加一些裝飾 加1個外框 這些外面的樣式都是裝飾
怎么解決這些裝飾把介?最簡單的話 我們可能會想 直接加1個繼承 但是這樣會產(chǎn)生類數(shù)量的爆炸
而且不靈活:裝飾和被裝飾者之間耦合度太高
解決方法 裝飾器
裝飾器就是用聚合代替繼承
聚合的定義:A類和B類有邏輯關(guān)系。A類是整體蟋座,B類是部分拗踢。A類由B類構(gòu)成,同時B類即便不在A類中也可以單獨存在向臀,就是聚合
paint()在TankDecorator類中巢墅,所以是聚合,也是裝飾器
橋梁模式強調(diào) 兩個分支獨立發(fā)展 弱聯(lián)系 而decorator強調(diào) 我對你的裝飾 這個是語義上的