1.裝飾器模式
裝飾器模式(Decorator Pattern)是結構型設計模式的一種,是擴充類功能的一種方式,是繼承的替代方案。
2.裝飾器模式的原理和實現方法
裝飾器模式的原理:在接口內部,對某些功能擴充;採用組合而不是繼承方式擴充類的功能。
裝飾器模式的實現方法:對原來提供的接口,擴充相應的功能,而只吧接口暴露給使用者。
3.裝飾器模式和適配器模式、代理模式的比較
裝飾器模式和適配器模式、代理模式的區別和聯繫是:
1)裝飾器模式的功能側重於功能擴充而不是轉換,適配器模式側重於功能轉換,代理模式側重點在於功能代理(由別的功能部分實現該功能)
2)代理模式其實就是一種對於原有功能的模仿,裝飾器則是對原有功能的擴大;
3)這幾種模式讓功能得到擴展或轉換,會經常聯繫使用。
4.裝飾器模式的優缺點
裝飾器模式的優缺點:
1)功能擴展靈活,而不依賴繼承;
2)可以對同一個對象進行多種裝飾;
3)缺點爲裝飾方式可能比較複雜,如果嵌套太多,容易造成代碼可讀性變差和出錯。
5.裝飾模式的實現
裝飾器模式的代碼實現見我個人的github:
https://github.com/diziqian/DesignPattern/tree/master/DecoratorPattern