请选择 进入手机版 | 继续访问电脑版
设为首页 收藏本站
开启辅助访问

新浪微博登陆

只需一步, 快速开始

QQ登录

只需一步,快速开始

切换风格 立即注册 找回密码

Java教程网

Java教程网 门户 业界资讯 查看内容

理解高内聚,低耦合

2018-8-1 22:03| 发布者: wenzhilanyu| 查看: 27| 评论: 0|来自: csdn

摘要: 起因:模块独立性指每个模块只完成系统要求的独立子功能,并且与其他模块的联系最少且接口简单,两个定性的度量标准――内聚性和耦合性。内聚性又称块内联系。指单个模块的功能强度的度量,即一个模块内部各个元素彼 ...

起因:模块独立性指每个模块只完成系统要求的独立子功能,并且与其他模块的联系最少且接口简单,两个定性的度量标准――内聚性和耦合性。

 

      内聚性又称块内联系。指单个模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。若一个模块内各元素联系的越紧密,则它的内聚性就越高,就是常说的高内聚。特点:最充分的利用模块中每一个元素的功能,达到功能实现最大化,内聚性越强越好,用最小的资源干最大的事情!

      耦合性也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。特点:项目中的各个模块之间的关联要尽可能的小,耦合性(相互间的联系)越低越好,减小“牵一发而动全身”的可能性!

      高内聚低耦合是软件设计的一个基本原则,说的是在程序的各个模块中,尽量让每个模块独立,相关的处理尽量在单个模块中完成,就是俗话说的:该干嘛干嘛去!优点:能提降低各模块的之间的联系,减少“牵一发而动全身”的几率,提高开发效率,降低升级维护成本,也便于进行单元测试,提高软件质量。

例子:

比如订单系统,订单是跟库存息息相关的,没有库存就没有订单,订单强依赖库存

如果我们把如何扣减库存的逻辑做在订单系统中,那么订单系统和库存系统就耦合了

同样,订单系统中有扣减库存的逻辑会造成订单系统的功能比较分散,订单系统的功能就不够集中

 

所以我们把订单中的库存逻辑给拆分出来一个独立的库存系统,对外暴露扣减库存的接口,订单系统可以通过这个暴露的库存接口来扣减库存

将订单逻辑与库存逻辑的依赖降低到最小,减掉了订单系统与库存的耦合

同事订单系统只包含订单处理的逻辑,库存系统只包含了库存的处理逻辑,两个系统的业务上更加内聚


鲜花

握手

雷人

路过

鸡蛋

最新评论

关闭

站长推荐 上一条 /1 下一条

小黑屋|手机版|Archiver|Java教程网    

GMT+8, 2018-8-17 23:45 , Processed in 0.281250 second(s), 27 queries .

Powered by Discuz X3.2

© 2001-2013 JAVA教程网

返回顶部