装饰者设计模式
课程大纲
一、 继承带来的问题
1、 话说威哥当年创业:卖豆浆,因为豆浆纯,分店几乎开遍了县城的所有的村,由于发展实在是太块了,所以急于由计算机实现一套自动记账系统。
2、 主料:豆浆,配料:糖,黑豆,五谷,鸡蛋。
4、 这就是所谓的“类爆炸“。
二、 装饰者设计模式概述
1、 意图:动态的给一个对象添加有些额外的职责,就增加功能来说,Decorator模式相比生成子类更加灵活,该模式以对客户端透明的方式扩展对象的功能。
2、 使用环境:(1)在不影响其他对象的情况下,以动态的,透明的方式给的那个对象添加职责。(2)处理那些可以撤销的职责。(3)当不能采用生成子类的方法进行扩充时,一种情况是:可能有大量独立的扩展,为支持每一种组合,将会产生大量的子类,使得子类数目呈现爆炸是的增长,另一种情况可能是因为:类定义被隐藏,或者类定义不能用于生成子类。
3、
4、 Component(被装饰对象基类)
定义对象的接口,可以 给这些对象动态的增加职责。
ConcreteComponent(具体被装饰对象)
定义具体的对象,Decorator可以给他增加额外的职责。
Decorator(装饰者抽象类)
维护一个指向Component实例的引用,并且定义了与Component一致的借口,
ConcreteDecorator(具体装饰者)
具体的装饰对象,给内部具体的别装饰者对
装饰者设计模式
最新推荐文章于 2024-05-15 22:28:15 发布