应用场景:动态的给一个对象增加额外的职责,装饰者模式比子类继承更为灵活。
组成要素:
Component:抽象构件
ConcreteComponent:具体构件,被装饰的对象
Decorator:装饰者,实现Component,并且里面一定包含要被装饰的构建Component
ConcreteDecorator:具体装饰者,对呗装饰对象进行自定义的装饰
示例demo:现在要做三种蛋糕,第一种蛋糕是只涂抹一层奶油,第二种蛋糕是再涂抹一层巧克力,第三种蛋糕是再加一层水果。
应用场景:动态的给一个对象增加额外的职责,装饰者模式比子类继承更为灵活。
组成要素:
Component:抽象构件
ConcreteComponent:具体构件,被装饰的对象
Decorator:装饰者,实现Component,并且里面一定包含要被装饰的构建Component
ConcreteDecorator:具体装饰者,对呗装饰对象进行自定义的装饰
示例demo:现在要做三种蛋糕,第一种蛋糕是只涂抹一层奶油,第二种蛋糕是再涂抹一层巧克力,第三种蛋糕是再加一层水果。