软件的正交性原则

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

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

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

正交性

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

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

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

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

Advertisements


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

查看所有标签

猜你喜欢:

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

Unity游戏设计与实现

Unity游戏设计与实现

[日]加藤政树 / 罗水东 / 人民邮电出版社 / 2015-2 / 79.00元

本书出自日本知名游戏公司万代南梦宫的资深开发人员之手,面向初级游戏开发人员,通过10个不同类型的游戏实例,展示了真正的游戏设计和实现过程。本书的重点并不在于讲解Unity的各种功能细节,而在于核心玩法的设计和实现思路。每个实例都从一个idea 开始,不断丰富,自然而然地推出各种概念,引导读者思考必要的数据结构和编程方法。掌握了这些思路,即便换成另外一种引擎,也可以轻松地开发出同类型的游戏。 ......一起来看看 《Unity游戏设计与实现》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具