1.9.3.1 对象设计的五个阶段
对象的设计生命期不仅仅限于写程序的时间。实际上,它出现在一系列阶段上。接受这种观点很有好处,因为我们不再期望设计立刻尽善尽美,而是认识到,对对象做什么和它应当像什么的理解,会随着时间的推移而呈现。这个观点也适用于不同类型程序的设计。特殊类型程序的模式是通过一次又一次地求解问题而形成的(设计模式在第2卷介绍)。同样,对象有自己的模式,通过理解、使用和重用而形成。
(1) 对象发现 这个阶段出现在程序的最初分析期间。对象可以通过寻找外部因素及边界、系统中重复的元素和最小概念单元而发现。如果已经有了一组类库,某些对象是很明显的。类之间的共同性(暗示着基类和继承关系),可以立刻出现或在设计过程的后期出现。
(2) 对象装配 当我们正在建立对象时会发现需要一些新成员,这些新成员在对象发现时期未出现过。对象的这种内部需要可能要用新类去支持它。
(3) 系统构造 再次指出,对对象的更多要求可能出现在以后阶段。随着不断学习,我们会改进我们的对象。与系统中其他对象通信和互相连接的需要,可以改变已有的类或要求新类。例如,我们可以发现需要辅助类,这些类如像一个链表,它们包含很少的状态信息或没有状态信息,只有帮助其他类的功能。
(4) 系统扩充 当我们向系统增添新的性能时,可能发现我们先前的设计不容易支持系统扩充。这时,我们可以重新构造部分系统,并很可能要增加新类或类层次。
(5) 对象重用 这是对类真正的强度测试。如果某些人试图在全新的情况下重用它,他们也许会发现一些缺点。当我们修改一个类以适应更新的程序时,类的一般原则将变得更清楚,直到我们有了一个真正可重用的对象。然而,不要期望从一个系统设计而来的大多数对象是可重用的,大量对象是对于特定系统的。可重用类一般共性较少,为了重用,它们必须解决更一般的问题。