posts - 262,  comments - 221,  trackbacks - 0
一、使用Bridge模式的目的:

使用Bridge模式的一个动机应该是:对象拥有多个属性,行为,在不同的时刻由不同的属性和行为组合可以表现出不同的外部特征。(即排列、组合形式)

如果对每一种属性和行为的组合进行绑定,作为一个子类,那么势必造成大量的子类存在。而且一旦原有的属性改变,或者行为改变了,会导致原有的类需要重新修改编译。

如果将属性、行为分开,采用动态组合的方式,在运行时动态决定需要将那个属性和那个行为搭配,除了可以减少子类的数量之外,还增强了未来的扩展性。

二、Bridge模式与Decorator模式的异同:

1).两者都具有动态设定、改变类运行时功能的意图和手法
2).前者着重的是在原有功能基础上的小修改,并不需要将抽象和行为分开,后者则着重于整体的组合,抽象和实现分离

三、Bridge模式的特点:

·在抽象接口中包含了一个对行为接口的引用,这样的话行为的操作将完全委托给行为接口完成,抽象类无需关心。

·在抽象类的继承子类中,调用了行为类的子类来实现不同的行为。此时抽象类的子类中只知道属性,但不知道具体的行为实现,实现了概念与行为的分离

·在行为类的继承子类中,只知道执行相应的动作,但不知道具体的属性,实现了行为和概念的分离

四、Bridge模式的实现图例:





-------------------------------------------------------------
生活就像打牌,不是要抓一手好牌,而是要尽力打好一手烂牌。
posted on 2008-02-26 21:48 Paul Lin 阅读(2062) 评论(0)  编辑  收藏 所属分类: 模式与重构

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


网站导航:
 
<2008年2月>
272829303112
3456789
10111213141516
17181920212223
2425262728291
2345678

常用链接

留言簿(21)

随笔分类

随笔档案

BlogJava热点博客

好友博客

搜索

  •  

最新评论

阅读排行榜

评论排行榜