装饰器模式
- 装饰器模式主要解决的是直接继承下因功能的不断横向扩展导致子类膨胀的问题,用装饰器模式后就会比直接继承显得更加灵活同时这样也就不再需要考虑子类的维护。
- 为了实现动态的给对象添加职能,即从外部给对象添加相关职能.
- 为了解决新加类职责,继承实现的弊端. 而是通过组合来实现.
抽象构件角色(Component)——定义抽象接口
具体构件角色(ConcreteComponent)——实现抽象接口,可以是一组
装饰角色(Decorator)——定义抽象类并继承接口中的方法,保证一致性
具体装饰角色(ConcreteDecorator)——扩展装饰具体的实现逻辑
class Component
{
public: