小A:“装饰器模式有什么优点?” 大B:“装饰器与继承的目的都是扩展对象的功能,但装饰器提供了比继承更大的灵活性,可以动态的决定是‘粘上’还是‘去掉’一个装饰。通过使用不同的具体装饰类和这些类的排列组合,可以创建出很多不同行为的组合。” 小A:“那装饰器模式有什么缺点哩?” 大B:“装饰器比继承关系使用更少的类,但比继承关系使用更多的对象,更多的对象会使查错变得更困难,特别是这些对象看上去很像的时候。”