《大话设计模式》——装饰模式学习

第一步先实现简单的功能:构建一个系统,给不同的人装饰上不同的衣物

这种写法的不好的地方,如果需要新增装扮,就必须修改Person代码,不符合程序设计的开闭原则。以下第二种实现:

进一步改进,将程序改为装饰模式,动态的给一个对象添加额外的职责。

通过《大话》书中的这个装饰模式图来说明:

主要是Decorator类来继承需要被装饰的类而且提供给其后续的子类扩展功能的接口。需要注意的是重写父类钟需要被装饰的方法。

然后具体的装饰类中需要调用基类的被装饰的方法:

该类中后面语句的就是对被装饰类——原类,进行添加新的功能。

装饰模式的好处:每个装饰对象的实现和如何使用这个对象分离,每个装饰对象只关心自己的功能,无需关心如何被引入到对象的引用中。

猜你喜欢

转载自blog.csdn.net/guojing1173132123/article/details/81262900
今日推荐