软件的正交性原则

栏目: 编程工具 · 发布时间: 4年前

内容简介:在《程序员修炼之道——从小工到专家》中提到了软件系统设计中的正交性原则,“正交性”对我而言是一个新鲜词汇,原来是来自几何学中的术语。那切换到软件系统领域,正交性就是互不依赖、解藕,即各个子系统、模块之间相互独立,互不影响,或者尽量减少耦合性。在实际过程中,很多情况下很难做到模块的正交性,或多或少地需要与其他模块、子系统打交道。比如在维护旧版本的同时开发新功能时,尤其是项目工期紧张、代码版本管理混乱的时候,没人顾得上这些了。

在《程序员修炼之道——从小工到专家》中提到了软件系统设计中的正交性原则,“正交性”对我而言是一个新鲜词汇,原来是来自几何学中的术语。

正交性

如果两条直线相交成直角,它们就是正交的,用向量术语说,这两条直线互不依赖,沿着某一条直线移动,投影到另一条直线上的位置不变。

那切换到软件系统领域,正交性就是互不依赖、解藕,即各个子系统、模块之间相互独立,互不影响,或者尽量减少耦合性。

在实际过程中,很多情况下很难做到模块的正交性,或多或少地需要与其他模块、子系统打交道。比如在维护旧版本的同时开发新功能时,尤其是项目工期紧张、代码版本管理混乱的时候,没人顾得上这些了。

正交性应该适用于软件系统的设计、开发、测试的各个环节,初始的设计决定了功能/业务/系统/模块的位置,处在中间层的子系统承上启下成为了关键点,与上下关联系统的耦合性最大;开发过程中也需要留意,统一好接口后尽量保持不变,这样减少了开发人员之间的沟通成本,也方便自己做单元测试和每次单元测试的累积以及最后的自动化测试;而最终的测试环节,需要验证每个功能的独立性,方便确认问题的来源。

Advertisements


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

从零开始学C++程序设计

从零开始学C++程序设计

编者:吴惠茹 / 机械工业 / 2017-05-01 / 69.0

一起来看看 《从零开始学C++程序设计》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具