(原)装饰模式
来源:互联网 发布:直销软件xajczxrj 编辑:程序博客网 时间:2024/05/25 19:58
装饰模式的作用是动态的为对象添加一些额外的行为!其实我们可以理解为是类似继承功能的另一种实现方式,不过继承是静态的编译期间就确定,而装饰是动态的运行期间才确定。
那么如何实现装饰模式呢?首先我们需要清楚知道装饰模式有哪些核心元素。
装饰模式的元素有
原始接口:定义行为
默认实现类:继承原始接口,可以理解为最基本的接口实现
装饰类(可以是抽象的也可以是具体的):继承原始接口,同时聚合了一个默认实现类的对象,这样就即可使用默认实现类的行为也可以添加额外的行为
具体装饰类:继承装饰类,做再一步扩展,如果装饰类是抽象,则具体实现装饰类。
注意:在实际开发中很多业务场景中装饰类已经是具体的,而省略了具体装饰类
说到这里不知道大家理解为什么叫装饰模式了没,其实“装饰”是对于默认实现类而言,因为具体实现类的对象聚合默认实现类的对象,对默认实现类的行为进行了扩展。如何为默认实现类穿了衣服一样,装饰模式由此而来。
应用场景:
- 适合对默认实现类中的多个接口进行排列组合(默认实现类中聚合了其他接口,为实现不同的功能需要这些接口的不同组合)
- 适合对默认实现类惊醒选择性扩展
- 适合对默认实现类未知或者不易扩展的情况
0 0
- (原)装饰模式
- 装饰(Decorator)模式
- 装饰模式(Decorator)
- 装饰模式(Decorator)
- DECORATOR (装饰)模式
- 装饰模式(c++)
- Decorator(装饰)模式
- 装饰模式(Decorator)
- Decorator(装饰模式)
- 装饰模式(python)
- 装饰模式(Decorator)
- 装饰模式(Decorator)
- 装饰模式(Decorator)
- Decorator(装饰)模式
- 装饰模式(Decorator)
- 装饰模式(Decorator)
- Decorator(装饰模式)
- (三)装饰模式
- (转)Jetty入门
- (原)控制反转
- 优化Android App性能?十大技巧
- (原)框架本质及structs2核心功能(1)
- (原)面向对象编程浅谈(1)
- (原)装饰模式
- 使用VS2010开发ActiveX(MFC)控件(2)——界面显示
- (转) java 字节流与字符流的区别
- (转)正则表达式30分钟入门教程
- (原)win7下JDK1.7安装
- (原)Win7下Tomcat配置文件基本配置及环境变量配置
- (转)Myeclipse配置tomcat服务器
- (转)json2.js 使用详细教程
- 几个mysql命令