正在加载图片...
(6)两个类之间的相互作用应该是显式的; (7)采用子类继承超类的公共接口,开发子类成为超类的特化 (8)继承结构的根类应该是目标概念的抽象模型。 前4条准则着重讲述类接口的适当形式和使用 准则1要求的信息隐蔽增强了开发表示独立的设计 准则2进一步说明了这种封装性,它禁止访问用作为类的部分表示的类实例。这些准则都强调了一个 类是由其操作集来刻划的,而不是其表达的思想。 准则3把公共接口定义为在类表示中包含了全部的公共操作集。 准则4要求属于类的每个操作符都必须表示其建模的概念行为 这4条准则为设计者指明了开发,分解类接口以及类表示的方向 后4条准则着重考虑类之间的关系。 准则5要求设计者尽可能少地连接一个类与其它类。如果一个正被设计的类需要另一个类的许多设施 的话,也许这种功能应表示成一个新类。 准则6试图减少或者消除全局信息。一个类所需要的任何信息都应该从另一个类中用参数显式地传递 给它。 准则7禁止使用继承性开发新类的公共接口之外的部分。利用类实例作为另一个类的部分表示的最佳 方法是,在新设计的类表示中声明支持类实例 准则8鼓励设计者开发类的继承结构,这种类是抽象的特化。这些抽象导致了更多的可重用子类,并 确定了子类之间的不同。 4.2什么是优良的OOD 个优良的OOD应具备的基本条件 (1)类与类的继承必须具有高度凝集性; (2)类与类之间的耦合应该很松散。只有一个例外,具有类的继承关系必须是紧密联系的,因而子 类与父类要紧密耦合 (3)某个类的数据实现细节对于别的类来说应该是隐藏的 (4)设计应该具有最优的可重用性; (5)尽力使类、对象和方法的定义具有简单性 (6)对所设计的类和类族,应注意保持其协议或接口的稳定性 (7)类的层次结构设计规模适度,不要太深或太浅 (8)系统整体规模要最小化 4.3对象标识设计 对象标识的目的是明确地区别对象,要求在一系统中,对象标识具有唯一性、稳定性和一致性。 在对象/类的标识方法中,有几种实用的设计方式 (1)以间接地址标识对象。如在 Smalltalk80中,就是以对象指针指向一个对象表作对象标识,这种 方法支持数据的独立性 (2)以结构化标识符标识对象。这类似于C++的变量命名,而且隐式类/对象的层次及指示的逻辑 (3)以代名词标识对象。在DBMS中广泛采用这种使用关键字的做法,易于记忆,但也易于非唯 非连续。 (4)以内部编号标识对象。 (5)类似于指针的另一种对象标识是引用。引用将一个新的标识符与对象联系起来,这样可以在程(6)两个类之间的相互作用应该是显式的; (7)采用子类继承超类的公共接口,开发子类成为超类的特化; (8)继承结构的根类应该是目标概念的抽象模型。 前 4 条准则着重讲述类接口的适当形式和使用。 准则 1 要求的信息隐蔽增强了开发表示独立的设计。 准则 2 进一步说明了这种封装性,它禁止访问用作为类的部分表示的类实例。这些准则都强调了一个 类是由其操作集来刻划的,而不是其表达的思想。 准则 3 把公共接口定义为在类表示中包含了全部的公共操作集。 准则 4 要求属于类的每个操作符都必须表示其建模的概念行为。 这 4 条准则为设计者指明了开发,分解类接口以及类表示的方向。 后 4 条准则着重考虑类之间的关系。 准则 5 要求设计者尽可能少地连接一个类与其它类。如果一个正被设计的类需要另一个类的许多设施 的话,也许这种功能应表示成一个新类。 准则 6 试图减少或者消除全局信息。一个类所需要的任何信息都应该从另一个类中用参数显式地传递 给它。 准则 7 禁止使用继承性开发新类的公共接口之外的部分。利用类实例作为另一个类的部分表示的最佳 方法是,在新设计的类表示中声明支持类实例。 准则 8 鼓励设计者开发类的继承结构,这种类是抽象的特化。这些抽象导致了更多的可重用子类,并 确定了子类之间的不同。 1.4.2 什么是优良的 OOD 一个优良的 OOD 应具备的基本条件: (1)类与类的继承必须具有高度凝集性; (2)类与类之间的耦合应该很松散。只有一个例外,具有类的继承关系必须是紧密联系的,因而子 类与父类要紧密耦合; (3)某个类的数据实现细节对于别的类来说应该是隐藏的; (4)设计应该具有最优的可重用性; (5)尽力使类、对象和方法的定义具有简单性; (6)对所设计的类和类族,应注意保持其协议或接口的稳定性; (7)类的层次结构设计规模适度,不要太深或太浅; (8)系统整体规模要最小化。 1.4.3 对象标识设计 对象标识的目的是明确地区别对象,要求在一系统中,对象标识具有唯一性、稳定性和一致性。 在对象/类的标识方法中,有几种实用的设计方式: (1)以间接地址标识对象。如在 Smalltalk80 中,就是以对象指针指向一个对象表作对象标识,这种 方法支持数据的独立性。 (2)以结构化标识符标识对象。这类似于 C++的变量命名,而且隐式类/对象的层次及指示的逻辑 范围。 (3)以代名词标识对象。在 DBMS 中广泛采用这种使用关键字的做法,易于记忆,但也易于非唯一、 非连续。 (4)以内部编号标识对象。 (5)类似于指针的另一种对象标识是引用。引用将一个新的标识符与对象联系起来,这样可以在程
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有