(软件工程复习核心重点)第十章面向对象设计-第一节:面向对象设计的基本概念与准则

一:面向对象设计概念

(1)定义

设计是把分析阶段得到的需求转变成符合成本和质量要求的、抽象的系统实现方案的过程。从面向对象分析到面向对象设计是一个逐渐扩充模型的过程,即面向对象设计就是用面向对象观点建立求解域模型的过程

(2)设计与分析的关系

  • 分析结果可以直接映射成设计结果,而在设计过程中又会加深和补充对系统需求的理解,进一步完善分析结果
  • 分析和设计活动是一个多次反复迭代的过程
  • 分析是提取和整理用户需求,并建立问题域精确模型的过程。设计则是把分析阶段得到的需求转变成符合成本和质量要求的、抽象的系统实现方案的过程

(3)分类

  • 系统设计:确定实现系统的策略和目标系统的高层结构
  • 对象设计:确定解空间中的类、关联、接口形式及实现服务的算法

二:面向对象的设计准则

(1)模块化

面向对象软件开发模式支持了把系统分解成模块设计的原理,对象是面向对象软件系统中的模块,它是把数据结构和操作这些数据的方法紧密地结合在一起所构成的模块

(2)抽象

面向对象的程序设计语言不仅支持过程抽象,而且支持数据抽象,对象类实际上是具有继承机制的抽象数据类型,它对外开放的公共接口构成了类的规格说明(协议),这种接口规定了外界可以使用的合法操作符,利用这些操作符可以对类实例中包含的数据进行操作

  • 规格说明抽象:使用者无须知道操作符的实现算法和类中数据元素的具体表示方法,就可以通过这些操作符使用类中定义的数据,这种抽象称为规格说明抽象
  • 参数化抽象:指当描述类的规格说明时并不具体指定所要操作的数据类型,而是把数据类型作为参数,使得类的抽象程度更高,应用范围更广,可重用性更高

(3)信息隐藏

在面向对象的软件中,信息隐藏通过对象的封装来实现,即类结构分离了接口与实现,从而支持了信息隐藏。对于类,属性的表示方法和操作的实现算法都是隐藏的

(4)低耦合

A:交互耦合

对象间的耦合通过消息连接来实现,则这种耦合是交互耦合。要使交互耦合尽可能松散,必须遵守下述准则。

  • 尽量降低消息连接的复杂程度。应该尽量减少消息中包含的参数个数,降低参数的复杂程度
  • 减少对象发送或接收的消息数

B:继承耦合

继承是一般类与特殊类之间耦合的一种形式。通过继承关系结合起来的基类和派生类构成了系统中粒度更大的模块,因此,它们彼此之间应该结合得越紧密越好

(5)高内聚

A:服务内聚

一个服务应该完成一个且仅完成一个功能

B:类内聚

设计类的准则是,一个类应该只有一个用途,它的属性和服务应该是高内聚的。如果某个类有多个用途,应该把它分解成多个专用的类

C:一般一特殊内聚

设计出的一般一特殊结构应该是对相应的领域知识的正确抽取。紧密的继承耦合与高度的一般一特殊内聚是一致的

(6)可重用

  • 尽量使用已有的类
  • 如果需要创建新类,则在设计这些新类的协议时应该考虑将来的可重复使用性
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

快乐江湖

创作不易,感谢支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值