论坛首页 Java企业应用论坛

设计模式之 - Bridge模式

浏览 11232 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (6)
作者 正文
   发表时间:2011-06-28  
http://www.jdon.com/designpatterns/bridge.htm讲的挺清楚的!bridge不仅对对象做了抽象而且还对对象的行为做了抽象!
0 请登录后投票
   发表时间:2011-08-30  
yunchow 写道
说实话,楼主讲的不是很清楚,应该有一大部分人看不太明白

桥接最大的好处是可以防止类膨胀的,并且能更好的复用,增加后期的可维护性。。。。

这些楼主没表达出来


防止类膨胀?  其实我懂你说的膨胀的意思。 就是不用桥接的情况下所有的功能都依赖一个公用的类或者接口的子类来完成,但是这些子类之间又完全没有关联。如接口B,实现类A,类C,类D。 
C要用到A,D的功能。 这种情况下一种思路是在C类的子类中分别实现A,C类中的方法,这样类确实膨胀了。这么写代码悲剧的原因应该是A,C,D类虽然都是B的子类,但是他们相互之间是没有关系的。 C类要用到A,D类的方法自然要在C类中加入A类和C类的引用啊。然后面向接口编程,C类只需要接口B就行了,这样在C的需要B接口的维度上能多态化,不同的实现提供不一样的功能。同时对于C中的相对不变的行为进行约束,所以需要一个接口CP,万一需要差异化就通过CP接口的多态化进行实现。
  既然C需要A,D的功能,C当然要A,D的引用啊。。 要么继承也好,但是java只能单继承, 所以使用组合的方式复用,最终衍变成桥接模式的那个样子是必然的。
0 请登录后投票
   发表时间:2011-08-31  
大话设计模式里的例子比较通俗易懂,虽然不是java来写的例子,但是基本上都可以看懂!
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics