首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

OO方面的杂乱笔记:《UML面向对象设计基础》

2012-09-25 
OO方面的散乱笔记:《UML面向对象设计基础》作者:Meilir Page-jones《UML面向对象设计基础》这本书的最大亮点是

OO方面的散乱笔记:《UML面向对象设计基础》
作者:Meilir Page-jones

《UML面向对象设计基础》这本书的最大亮点是对Connascence进行了定义和初步的展开,关于这一点我已在http://chenjianjx.iteye.com/blog/1236462提及了。本贴记录一些其它的东西。

1. 面向对象软件的可理解性和可维护性,以及其它一些特性都是以封装性和Connanscence为基础的

2. 包:里面的类来自同一领域,但它们未必相互发生影响;组件:里面的类相互作用完成一系列业务逻辑 (启示:平时应该注意把内聚、耦合这种理念扩展到对象之外,扩展到包、组件或者更高的级别)

3.高内聚/低耦合并不是oo的专利,在结构化时代就已有比较系统化的研究;这方面可以看作者的另一本经典书籍:'practical guide to structured systems design',它里面提出的一些东西在OO时代照样有用.

4. Encumbrance:  一个类的encumbrance就是它直接引用和间接引用的所有类的数量。 越低层次的类,它的encumbrance就应该越小; 越高层次的类,它的encumbrance就应该越大。

5.一些错误的内聚:
  a.混合事例型内聚:比如在“几何图形”这个类里搞一个“对角线”属生就是这种不当内聚,因为虽然四边形有对角线,但三角形并没有对角线。 
  b.混合领域型内聚:比如在“实数”这个类里写一个“华氏温度转摄氏温度”的方法,这样做会从扩大一个类的encumbrance,引入不相关的领域,导致可重用性降低
  c.混合角色型内聚:比如在“人”这个类里写一个“拥有狗的数目”的方法。人和狗可能都属于业务领域,但人和狗完全是不同的角色。

热点排行