泥巴麒麟的BLOG

shenAwesome@hotmail.com 纵不能,将醉做生涯,休拘束

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  195 Posts :: 2 Stories :: 80 Comments :: 0 Trackbacks

名字看起来类似adapter,事实上完全不同。
两个原则:
1.封装变化点

2.使用对象组合代替继承,防止冗余类。
第一个原则更为重要,明确给出了设计的依据。

例:

作图程序,circle 和tangle继承了sharp。
问题出现:你需要同时考虑在显示屏上画图,或在pda上画图(完全是假设情况)
那么是否需要为每个类增加一个附本?Circle和Circle_pda?这会导致冗余和过多的类。
参照第一个原则,这里有两个变化点 :1是什么图形 2是什么环境(实现的方式)
用Sharp的继承树,记录第一变化点。
用Drawing的继承树,记录第二变化点。
同时在Sharp中,组合Drawing.

原文我并没有仔细看,总之我的直观感觉就是:
一个继承树反映一个变化点,使用组合的方式工作。相当于把设计二纬化,使x轴和y轴的设计能够相对独立。


posted on 2007-07-05 15:53 泥巴麒麟 阅读(169) 评论(0)  编辑  收藏

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


网站导航: