J2EE之巅

 

“桥模式”与“极限分割”

SCEA SCBCD MCSD

北京天融信软件架构师

SUN,Microsoft 培训中心特邀高端教师

常年提供架构咨询服务

chaocai2001@yahoo.com.cn 010-82776427

很多设计模式的书中都用这样的语言来描述 桥模式 ”(GOF 95) – “把抽象与实现分开”( ”Prefactoring”, Ken Pugh,2006 , 这样的描述实在有些让人很难体会该模式的精髓。其实在我看来桥模式就是一种面向对象技术中“极度分割” 思想的体现。

下面看一个常见的说明桥模式的例子:

1 一个可以以不同方式输出日志的工具类(输出到文件或控制台):

1.jpg

2 如果此时我们要求可以以多种不同格式来输出日志(如: XML 和普通文本格式),为了适应这一需求我调整一下类的设计

设计一:

 

2.jpg

从以上类图可以看出这一设计会产生大量的类,分析其原因可以发现导致这一问题产生的是根类涉及了太多方面,如果这些方面都同时进行扩展就会形成复杂的继承 ( 层次较深 ) 。如果我们把这些可扩展的不同方面进行分割,就会得到如下设计3.jpg

以上设计正是传说中的“桥模式”。

经过以上分析我们可看到桥模式本质就是“极度分割”思想的一种体现。

posted on 2007-03-05 09:44 超越巅峰 阅读(1698) 评论(3)  编辑  收藏

评论

# re: “桥模式”与“极限分割” 2007-03-05 10:12 codeslave

对"桥模式"有一定认识,但“极度分割”思想未曾听说过,可否解析一下?  回复  更多评论   

# re: “桥模式”与“极限分割” 2007-03-05 11:34 dennis

极限分割?似乎没有展开  回复  更多评论   

# re: “桥模式”与“极限分割” 2007-03-05 17:27 我为J狂

能不能解释一下“极限分割”?谢谢。  回复  更多评论   


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


网站导航:
 

导航

统计

常用链接

留言簿(12)

随笔分类(54)

随笔档案(59)

文章分类(2)

文章档案(1)

相册

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜