面向对象系统——设计

来源:互联网 发布:淘宝上买乔丹鞋 编辑:程序博客网 时间:2024/04/29 06:47

       面向对象系统活动包括面向对象设计、面向对象编程和面向对象测试。

       面向对象设计的独特性:(4个特征

           (1)抽象;

           (2)信息隐蔽;

           (3)功能独立性;

           (4)模块性建造系统。

正是这4个特征,使面向对象设计优势于传统的设计方法。下面对这4个特征进行简要地解释:

      抽象:使用简单的工具来建立理解和管理复杂的系统。正是通过使用“抽象”使系统变得简洁和简单起来。

      信息隐蔽:指对一个过程或者一件制品的某些细节有目的的隐藏,以便其他方面、细节或者结构表达得更清楚。

      对于信息隐蔽,在网络上看到一个例子,比较方便于我们的理解。

      抽象实例:地图集

如果打开一本地图集,一般看到的常是一幅世界地图。该地图只显示了一些最主要的特征,如主要的山脉、海洋等等,但细节基本上都被忽略了。

随后的一系列地图将覆盖小一些的地理区域,也能处理更多的细节。例如,一块大陆(如各大洲)的地图将包括国家的边界和主要的国家。更小的区域(如国家)地图,将包括城市、各山峰的名称。一个省市的地图可能会包括进出该省市和省内的主要交通路线和省市乡镇的名称,再小一些的地图甚至还会画出一些建筑物。

       功能独立性:相当来说比较好理解,可以简单说成——高内聚,低耦合。

          高内聚:(3点)

              ①服务内聚:一个服务完成一个功能;

              ②类内聚:不包括无用的属性和操作;

              ③一般和特殊内聚:设计中有时从特殊抽象出一般(继承)。

          低耦合:(两点)

              ①交互耦合:对象之间的耦合是通过消息连接来实现的(在设计时应尽量减少对象之间发送的消息数和信息中的参数个数,降低消息连接的复杂度)。

              ②继承耦合:是一般化类和特殊化类之间的一种关联形式,设计时要适当使用。

        模块性建造系统:将各功能提取出来形成了独立的模块,降低了系统的耦合度,提高了复用性。

        这样的系统功能相对独立,层次分明,提高了系统的可维护性。

 

        总结:面向对象设计方法(OOD方法)与传统设计方法有相同之处:同是使用数据设计、接口设计以及过程设计。

        面向对象设计的“体系结构”还有一个特点就是更多地关心伴随控制流程的对象间的协作。