1。装饰模式把主要功能和次要功能区分开。对主要功能进行装修,并有可能扩展出新的功能。
2。各个装饰实体之间以及各个被装饰的实体之间以及装饰实体和被装饰实体之间都是完全透明的。
3. 但是有人说,装饰实体对客户端代码也是透明的。这个说法是错误的。
1.要把创建和使用隔离开,必须用工厂模式才能实现透明化。另外要不要进行完全透明,跟装饰模式没有关系。主要看这个类的继承层次是不是足够简单,要不要增加新的功能。(一般情况下是需要的)。
1。装饰模式把主要功能和次要功能区分开。对主要功能进行装修,并有可能扩展出新的功能。
2。各个装饰实体之间以及各个被装饰的实体之间以及装饰实体和被装饰实体之间都是完全透明的。
3. 但是有人说,装饰实体对客户端代码也是透明的。这个说法是错误的。
1.要把创建和使用隔离开,必须用工厂模式才能实现透明化。另外要不要进行完全透明,跟装饰模式没有关系。主要看这个类的继承层次是不是足够简单,要不要增加新的功能。(一般情况下是需要的)。