设计原则在面向对象设计中的演化

软件系统的分析和设计已经走过3个阶段:面向过程、面向对象以及领域驱动的分析和设计。

在这个演进过程中,有些设计原则被赋予了新的含义,有些设计原则不太适用,有些新的设计原则诞生出来。

从面向对象设计的几个原则来看,就能体现出这一点。

  1. 模块化原则

模块化原则在面向过程设计中就已经被提出,而在面向对象设计中,模块化更是这种方法天然就支持的,因为面向对象设计首先就要把系统分解成对象,而对象其实就是模块——它是把数据结构和操作紧密地结合在一起所构成的模块。

  1. 抽象

抽象是面向过程设计发展到面向对象设计时产生出来的新的设计原则。面向对象方法中的类实际上就是一种抽象数据类型,它的对外开放的公共接口规定了外界可以使用的合法操作符,外部对象可以通过这些操作符可以对类实例中包含的数据进行操作。

  1. 信息隐藏

信息隐藏是面向过程设计发展到面向对象设计时产生出来的另一个新的设计原则。在面向对象方法中,通过对象的封装实现信息隐藏。

  1. 弱耦合

面向过程设计也强调弱耦合,但在面向对象方法中,耦合又有了新的含义。面向对象中的耦合指的就是不同对象之间相互关联的紧密程度。

面向对象的耦合可分为以下两大类:

  • 交互耦合

交互耦合是指对象之间的耦合通过消息连接来实现。交互耦合要尽可能地松散。而要使交互耦合松散,应该遵守以下准则:一是尽量降低消息连接的复杂程度;二是减少对象发送(或接收)的消息数。

  • 继承耦合

继承耦合是指一般类与特殊类之间的耦合。与交互耦合相反,继承耦合应该尽可能地提高耦合的程度。这是因为继承耦合把基类和派生类结合起来,构成了系统中粒度更大的模块,因此,它们彼此之间应该结合得越紧密越好。而要获得紧密的继承耦合,这些特殊类应该只能是对它继承的一般类的一种具体化。

  1. 强内聚

面向对象中的内聚也有了新的含义。在面向对象设计中有以下3种内聚:

  • 服务内聚。一个服务应该完成一个且仅完成一个功能。

  • 类内聚。一个类应该只有一个用途,它的属性和服务都应该是高内聚的。

  • 一般/特殊内聚。一般类和特殊类,应该符合相应的领域知识的结构和继承关系。

  1. 可重用

面向对象中的重用也有了新的含义。重用分为采用可重用部件和开发可重用部件两种,在面向对象设计中,采用可重用部件是指使用已有的类(包括公用的类库,及以历史项目中的创建的类);开发可重用部件是指在创建新类时,同时要考虑将来的可重复使用性。

这正是:

设计原则会演化,不同方法各具化

细心观察去理解,因地制宜使用它

参考书目:软件工程(第4版),作者:张海藩 吕云翔,出版社:人民邮电出版社有限公司

(0)

相关推荐

  • 重温设计模式系列(三)面向对象设计原则

    背景 面向对象基础知识,只是给了我们一个概念,如何更好的设计出良好的面向对象代码,需要有设计原则作为支持.设计原则是核心指导思想,在这些原则的基础上,经过不断的实践,抽象,提炼逐步产生了针对特定问题的 ...

  • 设计模式-概述

    面向对象 特性 封装:隐藏内部实现: 继承:复用现有代码: 多态:改写对象行为. 目标 面向对象设计的目标是设计出高内聚.低耦合的应用程序,最大程度的实现程序的复用,以应对复杂的需求变化. 设计原则 ...

  • 面向对象六大原则

    这篇文章主要讲的是面向对象设计中,应该遵循的六大原则.只有掌握了这些原则,才能更好的理解设计模式. 我们接下来要介绍以下6个内容. 单一职责原则--SRP 开闭原则--OCP 里氏替换原则--LSP ...

  • 空调系统中冷凝水系统的设计原则

    风机盘管机组.整体式空调器.组合式空调机组等运行过程中产生的冷凝水,必须及时予以排走. 1.冷凝水管的布置 ① 若邻近有下水管或地沟时,可用冷凝水管将空调器接水盘所接的凝结水排放至邻近的下水管中或地沟 ...

  • 面向对象设计原则

    设计目标 设计可维护性高,可复用性强的软件.可维护性指的是软件能够被理解.修改.适用及扩展的难易程度,而可复用性指的是软件能够被重复使用的难易程度 设计原则分类 单一职责原则 定义 Single Re ...

  • 面向对象设计原则(SOLID原则)

    一.单一功能(single responsibility) 单一功能原则,也叫单一职责原则.简单来说,就是一个类应该只有一个引起它变化的原因,其中心思想就是面向对象设计原则中的高内聚,低耦合.当分析有 ...

  • 面向对象设计的原则

    开放封闭原则(The Open Closed Principle) ** 一个软件实体如类.模块和函数应该对扩展开放,对修改代码关闭.即软件实体应尽量在不修改原有代码的情况下进行扩展** [===== ...

  • 室内家具设计中座椅的设计原则是哪些?

    与座位有关的舒适程度和功能功效是由人体的结构及生物力学关系所构成的.座位的用途不同显然要求不同的设计,但仍然有一些一般的准则.    座椅设计必须考虑的因素很多,可以概括出如下一些基本原则. 1.座椅 ...

  • 深入浅出详解软件开发中的 6 大设计原则

    在软件开发中,前人对软件系统的设计和开发总结了一些原则和模式, 不管用什么语言做开发,都将对我们系统设计和开发提供指导意义.本文主要将总结这些常见的原则,和具体阐述意义. 开发原则 面向对象的基本原则 ...

  • 主题乐园环境的设计原则应把握哪些方面重点

    主题乐园作为一种人工旅游环境,与人的游乐行为密切联系.从游乐行为的无规定性.不受约束性特征出发,主题乐园环境的设计原则应从以下几个方面重点把握: 主题乐园环境的设计原则应把握哪些方面重点 1.多样性和 ...

  • Fogg行为设计模型在产品设计中的应用 | 人人都是产品经理

    从Fogg行为设计模型中,我们能拆解出动机.能力.触发要素等关键要点,并在该行为设计模型影响下得到一些产品设计的思考与启发. "设计是人为的,为人的行为",设计的内含已经起从初简单 ...