七、面向对象的设计 面向对象设计是把分析阶段得到的需求转变成符合成本和质量要求的、抽象的系统实现方案的过程。从面向对象分析到面向对象设计,是一个逐渐扩充模型的过程。
8 t+ `" s+ n" P1 L' ~0 u 瀑布模型把设计进一步划分成概要设计和详细设计两个阶段,类似地,也可以把面向对象设计再细分为系统设计和对象设计。系统设计确定实现系统的策略和目标系统的高层结构。对象设计确定解空间中的类、关联、接口形式及实现操作的算法。
6 t/ E, ^% Y. _# d. B- {- ] j5 w (一)面向对象设计的准则
2 V$ ^ W7 n3 ^9 B0 U$ s) ] 1.模块化
9 O- u# j9 M- `' a) ~ 面向对象开发方法很自然地支持了把系统分解成模块的设计原则:对象就是模块。它是把数据结构和操作这些数据的方法紧密地结合在一起所构成的模块。
5 ~0 n5 K9 H% g, R& w 2.抽象- ~; F d3 _* C7 p. m, O1 J! }' N
面向对象方法不仅支持过程抽象,而且支持数据抽象。5 h% P+ W, c1 b3 F: x q. S5 N% I
3.信息隐藏
7 H/ ^3 k2 g$ O! B8 d) H 在面向对象方法中,信息隐藏通过对象的封装性来实现。
5 `, |2 Y, q8 g* k; b5 } 4.低耦合
3 o- H4 v4 s: N2 f" G 在面向对象方法中,对象是最基本的模块,因此,耦合主要指不同对象之间相互关联的紧密程度。低耦合是设计的一个重要标准,因为这有助于使得系统中某一部分的变化对其它部分的影响降到最低程度。3 }, [0 p; \* x' f# I
5.高内聚/ F/ l& \8 g; ?: y
(1)操作内聚。
$ V$ Q. B; | |. Q! G; ] (2)类内聚。
- j5 q! d8 W( u$ | (3)一般——具体内聚。 |