DANCE WITH JAVA

开发出高质量的系统

常用链接

统计

积分与排名

好友之家

最新评论

桥接模式和适配器模式的区别

很多时候经常容易把桥接模式和适配器模式弄混。那什么时候用桥接,什么时候用适配器呢 ?

共同点:桥接和适配器都是让两个东西配合工作
不同点:出发点不同。
         适配器:改变已有的两个接口,让他们相容。
         桥接模式:分离抽象化和实现,使两者的接口可以不同,目的是分离。

所以说,如果你拿到两个已有模块,想让他们同时工作,那么你使用的适配器。
如果你还什么都没有,但是想分开实现,那么桥接是一个选择。

桥接是先有桥,才有两端的东西
适配是先有两边的东西,才有适配器

桥接是在桥好了之后,两边的东西还可以变化。

例如游戏手柄,就象个桥,它把你的任何操作转化成指令。
(虽然,你可以任何操作组合,但是你的操作脱不开山下左右,a,b,选择 ,确定)
JRE本身就是一个就是一个很好的桥,先写好在linux上执行的Jre,再写好可以在windows下执行的JRE,
这样无论什么样的Java程序,只要配和相应的Jre就能在Linux或者Windows上运行.
两个Jre并没有限定你写什么样的程序,但要求你必须用Java来写。

posted on 2007-01-07 21:53 dreamstone 阅读(8984) 评论(6)  编辑  收藏 所属分类: 设计模式

评论

# re: 桥接模式和适配器模式的区别 2007-01-08 08:56 ant

好文,通俗易懂。  回复  更多评论   

# re: 桥接模式和适配器模式的区别 2007-01-08 21:05 maninred = 轩朗

Bridge模式和Adapter模式差好远哦。Adapter模式(使一个对象适配需要的接口)和Facade模式(简化原有系统的接口并且将系统的调用封装在一个接口中)比较容易混淆吧?

Bridge模式的应用情景是在概念的抽象有变化及其实现方式有多个。而Adapter模式的应用情景是原有对象的接口和需要的接口有差别。

而大多数情景下Bridge模式是作为Adapter模式的背景。也就是在用Bridge模式封装实现时,大多数的实现并不可以派生自相同的基类,这时Adapter模式就可以派上用场了。

还有楼主似乎把模式的看得太过独立了,其实模式的思想都是一样的:用OO的封装来封装所有的东西。比如Bridge模式就是在其两端封装了抽象概念和其实现,而Adaper模式封装的是接口。  回复  更多评论   

# re: 桥接模式和适配器模式的区别 2007-01-08 23:26 dreamstone

这篇文章是比较的Bridge和Adapter的比较,所以侧重点在讲不同,便于区分两个模式。当在文中并没有体现模式是独立的意思。

Bridge和adapter并不相差很远,你试着实现一下面向对象的Bridge,就是Bridge两端都是对象,然后对比多个适配器同时的情况,看看这个时候的Bridge和Adapter的代码的相似度,相似度会很高。

关于这个问题,我又写了个更为详细的版本,见这里。如果有时间看一下吧。
http://www.blogjava.net/dreamstone/archive/2007/01/08/92482.html  回复  更多评论   

# re: 桥接模式和适配器模式的区别 2007-07-10 13:37 anders06

>> 桥接和适配器都是让两个东西配合工作
这个也算共同点? 什么叫结构型模式

>>如果你还什么都没有,但是想分开实现,那么桥接是一个选择。
组合就代表桥接??  回复  更多评论   

# re: 桥接模式和适配器模式的区别 2009-09-14 16:03 网络过客

适配器 单抽象
桥接 双抽象  回复  更多评论   

# re: 桥接模式和适配器模式的区别 2010-07-21 10:08 钓饵

适配器模式很常用
  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航: