装饰者模式vs适配器模式
2016-07-13 00:08
274 查看
http://www.cnblogs.com/tekkaman/p/3275077.html
1.关于新职责:适配器也可以在转换时增加新的职责,但主要目的不在此。装饰者模式主要是给被装饰者增加新职责的。
2.关于原接口:适配器模式是用新接口来调用原接口,原接口对新系统是不可见或者说不可用的。装饰者模式原封不动的使用原接口,系统对装饰的对象也通过原接口来完成使用。(增加新接口的装饰者模式可以认为是其变种--“半透明”装饰者)
3.关于其包裹的对象:适配器是知道被适配者的详细情况的(就是那个类或那个接口)。装饰者只知道其接口是什么,至于其具体类型(是基类还是其他派生类)只有在运行期间才知道。
适配器模式有双重耦合:
1)继承耦合;
2)直接引用耦合;
1.关于新职责:适配器也可以在转换时增加新的职责,但主要目的不在此。装饰者模式主要是给被装饰者增加新职责的。
2.关于原接口:适配器模式是用新接口来调用原接口,原接口对新系统是不可见或者说不可用的。装饰者模式原封不动的使用原接口,系统对装饰的对象也通过原接口来完成使用。(增加新接口的装饰者模式可以认为是其变种--“半透明”装饰者)
3.关于其包裹的对象:适配器是知道被适配者的详细情况的(就是那个类或那个接口)。装饰者只知道其接口是什么,至于其具体类型(是基类还是其他派生类)只有在运行期间才知道。
适配器模式有双重耦合:
1)继承耦合;
2)直接引用耦合;
相关文章推荐
- 【荐1】Total Commander 7.57 个人使用设置 及 常用快捷键 备忘
- 【greenDAO3】 项目搭建与增删改查操作
- Android基础之LaunchMode
- Java集成Weka做逻辑回归(Logistic Regression)
- C语言指针的易错点
- 开源流媒体云视频平台EasyDarwin中EasyCMS服务是如何进行命令转发和消息路由的
- 开源流媒体云视频平台EasyDarwin中EasyCMS服务是如何进行命令转发和消息路由的
- E - Frogger
- TCP/IP编程之getsockopt/setsockopt函数详解
- 微服务系统中的服务发现机制
- 一个SQL面试题
- frist Django app — 三、 View
- 反射:类,构造器,方法使用
- Linux学习笔记--常用快捷键
- Android Activity管理机制详解
- Android自定义View实现竖直跑马灯效果案例解析
- java正则替换img标签中src值的方法
- Python中的变量和作用域详解
- 正则表达式常用用法汇总
- Mysql数据库配置