装饰模式又叫做包装器(Wrapper),它可以动态的给一个对象(而不是类)添加一些额外的职责。
装饰模式可以在不使用创造更多子类的情况下将对象的功能加以扩展,客户端并不会觉得对象在装饰之前和装饰之后有什么区别。一般情况下,我们扩展类的功能,往往是给该类创建子类,一个扩展功能创建一个子类,但是在这扩展的多个功能之间有组合的时候,就会导致类爆炸了。装饰模式可以很好的解决这个问题,多个不同的具体装饰可以组合使用,使系统的灵活性更好。
装饰模式的典型类图如下:
待续。。。。。。
装饰模式又叫做包装器(Wrapper),它可以动态的给一个对象(而不是类)添加一些额外的职责。
装饰模式可以在不使用创造更多子类的情况下将对象的功能加以扩展,客户端并不会觉得对象在装饰之前和装饰之后有什么区别。一般情况下,我们扩展类的功能,往往是给该类创建子类,一个扩展功能创建一个子类,但是在这扩展的多个功能之间有组合的时候,就会导致类爆炸了。装饰模式可以很好的解决这个问题,多个不同的具体装饰可以组合使用,使系统的灵活性更好。
装饰模式的典型类图如下:
待续。。。。。。