面向对象设计准则及启发规则 - wolai 笔记
在实际的软件开发过程中分析和设计的界限是模糊的
分析和设计活动是一个多次反复迭代的过程。
面向对象方法学在概念和表示方法上的一致性,保证了在各项开发活动之间的平滑(无缝)过渡,领域专家和开发人员能够比较容易地跟踪整个系统开发过程,这是面向对象方法与传统方法比较起来所具有的一大优势。

1.设计准则

1.1抽象

  • 通过像抽象机制实现
  • 提高可重用性

1.2信息隐藏

  • 通过封装性实现
  • 提高独立性

1.3弱耦合

对象间耦合:交互耦合、继承耦合

(1)交互耦合(松散)

对象间通过消息连接实现。
  • 降低消息连接复杂度(减少参数个数,降低参数复杂度)
  • 减少信息数

(2)继承耦合(紧密)

一般类和特殊类之间耦合。
  • 有继承关系基类和派生类是系统中粒度更大模块。

1.4强内聚

  • 服务内聚:只完成一个功能。
  • 类内聚:一个类只有一个用途,否则分解。
  • 一般特殊内聚:设计合理,是对领域知识正确抽取。

1.5可重性

  • 尽量利用已有类(类库、已创建类)
  • 创建新类考虑以后可重用性

2.启发规则

2.1设计结构清晰易懂

  • 用词一致
  • 使用已有协议
  • 减少消息模式的数目
  • 避免模糊的定义

2.2一般-特殊结构深度适当

100classes,则设计7±2

2.3设计简单class

  • 避免过多attributes
  • 分配给每个类任务应简单
  • objects间合作关系简单
  • 避免过多methods(7个)

2.4 使用简单的协议

经验表明,通过复杂消息相互关联的对象是紧耦合的,对一个对象的修改往往导致其他对象的修改。

2.5使用简单的服务




Comment