面向对象设计-第一节:面向对象设计的基本概念与准则

Posted 快乐江湖

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面向对象设计-第一节:面向对象设计的基本概念与准则相关的知识,希望对你有一定的参考价值。

文章目录

一:面向对象设计概念

(1)定义

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

(2)设计与分析的关系

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

(3)分类

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

二:面向对象的设计准则

(1)模块化

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

(2)抽象

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

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

(3)信息隐藏

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

(4)低耦合

A:交互耦合

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

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

B:继承耦合

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

(5)高内聚

A:服务内聚

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

B:类内聚

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

C:一般一特殊内聚

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

(6)可重用

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

以上是关于面向对象设计-第一节:面向对象设计的基本概念与准则的主要内容,如果未能解决你的问题,请参考以下文章

面向对象设计的思想与基本概念

Java程序设计类与对象的基本概念(上)

第一章 对象和封装

面向对象程序设计-继承与多态

面向对象分析-第一节:面向对象分析的基本过程和需求陈述

卫管系举办《面向对象思想和UML设计》学术讲座