处理 SSI 文件时出错
公告栏
专题分类
最新日志
最新评论
 
经典文章
   看图说话,谈谈adapter,proxy,facade,bridge模式的区别与联系
 
 


 适用人群:对模式有一定了解,但又死扣区别的人。个人意见,仅供参考。
 
adapter_class vs adapter_object
 
适配器模式有两类,一种叫类适配器(adapter_class),另一类是对象适配器(adapter_object)。它俩的区别主要体现在adapter和adaptee的关系上
如果是类继承关系则为adapter_class,如果是对象属性关系,则是adapter_object
如图所示:
 
 
adapter vs proxy
 
适配模式是将一个类的接口转换成客户希望的另外一个接口。
代理模式是为其他对象提供一种代理以控制对这个对象的访问。
这是我们常见到的定义,但是还是让初学者摸不清头脑,adapter和proxy到底有什么区别?
adapter是适配adaptee和target之间的关系,proxy是realSubject对subject的代理。
adaptee和target无关系,realSubject和subject有继承关系。这就是他们的区别。
请看下图:
 
 
facade vs others
 
facade用于为复杂的子系统定义一个新的简单易用的接口。
它的重点在
1 封装复杂的子系统,对外提供一个简单的访问入口。
2 降低外界和子系统的耦合度。加了facade入口,外界就只依赖facade入口,而不用依赖子系统的其他类。
如图所示:
 
 
bridge vs others
 
bridge用于将一个抽象与多个可能的实现连接起来。
它是解决抽象类与其实现类之间依赖关系问题,可以使得抽象和实现各自独立且动态结合。
它使用了composition替代了inheritance,从而解除了抽象类和实现类间的耦合。体现了Favor object composition over class inheritance。
如图所示
 

yichaozhang 发表于 2006-9-16 14:00:00
 
阅读全文 | 回复(0) | 引用通告 | 编辑

处理 SSI 文件时出错

发表评论:

    昵称:
    密码: (游客无须输入密码)
    主页:
    标题:
    页面数据载入
 
<<  < 2006 - >  >>
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
用户登录
网站信息
  • 日志:42
  • 评论:4
  • 留言:0
  • 访问:
欢迎留言
处理 SSI 文件时出错