1????????? 面向对象分析与设计的遵循原则
对象是一些定义了良好职责的事物。
对象具有职责自负的能力。
封装意味着下列对象的隐藏:
l???????? 数据隐藏
l???????? 类隐藏(通过继承于基类或接口实现)
l???????? 实现隐藏
通过共同点/变化点分析方法,抽象出变化的行为和数据。
面向接口进行设计。
以如下观点看待“继承”:
l???????? 继承可作为实现概念变化的一种方法,但不能作为生成既有对象的特殊案例的方法。
保持类中的某些变化点与其它变化点的独立性(非耦合性)。
坚持松散耦合。
坚持高内聚。
现相同功能的职责时尽量使用并且只使用一种规则(规约、算法)。
把问题域分解为相关对象的职责集合。
以相互联系的观点,运用模式进行系统设计。
2????????? 考察模式的着眼点
u??????? 此模式隐藏了哪些东西?
——究其清除,我们可以对它们进行修改。
u??????? 此模式反映了哪些共通点?
——这能够帮助我们识别它们。
u??????? 此模式中对象的职责是什么?
——这将有助于我们进行问题域的职责分解。
u??????? 此模式中对象的关系如何?
——这将给我们足够的信息表示问题域中的对象。
u??????? 此模式是如何表现出关联的设计思想的?
——这将有助于我们理解此模式的设计优良性。