23種設計模式 VOL.8: 裝飾者模式

思想: 動態的將屬性附加到對象上, 比繼承更方便;


  •  裝飾者的4個角色
  1. 抽象主體(AbsDrink)Component;
  2. 被裝飾者(咖啡)ConcreteComponent具體組件;
  3. 裝飾者Decorator;
  4. 具體裝飾者(配料)

  • 案例: 咖啡 + 配料 的售價
  • 未使用裝飾者模式
  1. 配料類組合咖啡導致配料類出現類爆炸問題, 加了新咖啡後還要生成對應的配料組合或加了新配料需要對所有咖啡類增加配料組合;

  • 使用裝飾者模式
  1. 用法: 被裝飾者(咖啡)組合到裝飾者(配料)裏;
  2. 代碼實現

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