设计模式:装饰者模式(Decorator Pattern)
装饰者模式定义:动态地将责仸附加到对象上,如要扩展功能,装饰者提供了比继承更有弹性的替代方案。
在java的io中用的比较多
这里我们以蛋糕为例:
一、我们新建一个Cake接口
?
?
?运行结果:
?
付款:105.0
付款:125.0
ok,简单吧,(*^__^*) 嘻嘻……
装饰者模式特点:1>继承属于扩展形式之一,但并不见得是弹性最好的最佳方式2>在我们的设计中,应该允许行为可以被扩展,而无需修改现有的代码(开闭原则)3>除了继承,使用装饰者模式也可以让我们扩展行为4>装饰者可以在被装饰者的行为前面、后面加上自己的行为,甚至可以将被装饰者的行为取代,而达到特定的目的5>装饰者模式会导致设计中出现许多小对象,如果过度使用,会让程序变得复杂
ok...?