装饰者模式介绍
装饰者模式以透明的方式动态的给一个对象添加不同的功能。
装饰者模式优点
- 可以防止子类创建过多不好维护。
- 有更好的扩展性,可以对不同的行为功能进行排列。
装饰者模式缺点
- 过度的使用会让程序看起来比较复杂。
实现
场景:平常买油泼面,可以加卤蛋加辣椒。
-
设计图如下:
-
首先抽象面条类,并实现具体的面条类(油泼面):
-
定义抽象装饰类:
-
实现具体装饰类(辣椒和卤蛋):
-
客户端调用及结果:
装饰者模式以透明的方式动态的给一个对象添加不同的功能。
场景:平常买油泼面,可以加卤蛋加辣椒。
设计图如下:
首先抽象面条类,并实现具体的面条类(油泼面):
定义抽象装饰类:
实现具体装饰类(辣椒和卤蛋):
客户端调用及结果: