如何用装饰者模式(Decorator Pattern)扩展Java对象功能而不改变其结构?
- 内容介绍
- 文章标签
- 相关推荐
本文共计3885个文字,预计阅读时间需要16分钟。
装饰者模式,涉及的关键设计原则:应用应易于扩展而非修改,装饰者定义了动态地将责任附加到对象上。装饰者模式定义:动态地给一个对象添加一些额外的职责,就增加功能来说,装饰者模式比生成子类更为灵活。装饰者模式定义:动态地将额外职责附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。
装饰者模式,涉及的重要设计原则:类应该对扩展开放,对修改关闭。
装饰者模式定义:
装饰者模式动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。
UML类图:
装饰者模式事例:
咖啡店
咖啡种类:
1)深焙咖啡(DarkRoast)
2)家庭混合咖啡(HouseBlend)
3)浓咖啡(Espresso)
4)低咖啡因咖啡(Decaf)
5)其它咖啡。。。
咖啡调料:
1)摩卡(Mocha)
2)牛奶(Milk)
3)豆浆(Soy)
4)奶泡(Whip)
5)其它调料。。。
本文共计3885个文字,预计阅读时间需要16分钟。
装饰者模式,涉及的关键设计原则:应用应易于扩展而非修改,装饰者定义了动态地将责任附加到对象上。装饰者模式定义:动态地给一个对象添加一些额外的职责,就增加功能来说,装饰者模式比生成子类更为灵活。装饰者模式定义:动态地将额外职责附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。
装饰者模式,涉及的重要设计原则:类应该对扩展开放,对修改关闭。
装饰者模式定义:
装饰者模式动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。
UML类图:
装饰者模式事例:
咖啡店
咖啡种类:
1)深焙咖啡(DarkRoast)
2)家庭混合咖啡(HouseBlend)
3)浓咖啡(Espresso)
4)低咖啡因咖啡(Decaf)
5)其它咖啡。。。
咖啡调料:
1)摩卡(Mocha)
2)牛奶(Milk)
3)豆浆(Soy)
4)奶泡(Whip)
5)其它调料。。。

