耦合是什么?

1.模块

模块可大可小,可以是函数,类,功能块等等

 一个好的模块应当尽可能独立完成某个功能。

耦合主要描述模块之间的关系, 内聚主要描述模块内部。

通常程序中各模块的内聚程度越高,模块间的耦合程度就越低。我们写程序追求高内聚,低耦合。

2.内聚(块内联系)

模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。

若一个模块内各元素(语名之间、程序段之间)联系的越紧密,则它的内聚性就越高。

模块内部的元素,关联性越强,则内聚越高,单一性越强。如果有各种场景、功能需要被引入到当前模块, 为了维护代码质量, 建议拆分为多个模块。

3.耦合(块间联系)

耦合是各模块之间相互连接的一种度量。

模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。

模块间耦合高低取决于模块间接口的复杂性、调用的方式及传递的信息。模块之间存在依赖,改动可能会互相影响,关系越紧密,耦合越强,模块独立性越差。

比如模块A直接操作了模块B中数据, 则视为强耦合, 若A只是通过数据与模块B交互, 则视为弱耦合。

独立的模块便于扩展,维护,写单元测试,如果模块之间重重依赖,会极大降低开发效率。

4.原则

追求高内聚,低耦合

(1)高内聚:一个软件模块是由相关性很强的代码组成,只负责一项任务,也就是常说的单一责任原则

(2)低耦合:模块之间的依赖关系弱

(3)解耦:解除耦合关系。

  • 模块间有依赖关系必然存在耦合,理论上的绝对零耦合是做不到的,只要降低耦合度即可。
  • 让数据模型,业务逻辑和视图显示三层之间彼此降低耦合,把关联依赖降到最低,而不至于牵一发而动全身。
  • A功能的代码不要写在B的功能代码中,如果两者需要交互,可以通过接口,通过函数,甚至可以引入框架,但总之就是不要直接交叉写。
  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值