java中什么是耦合度 编程中耦合是什么意思 您所在的位置:网站首页 java耦合度是什么 java中什么是耦合度 编程中耦合是什么意思

java中什么是耦合度 编程中耦合是什么意思

2024-07-16 11:52| 来源: 网络整理| 查看: 265

coupling, 即两个东西之间的一种连接,使他们彼此关联。

以前大学里学软件工程和面向对象的时候,就时常听到解耦和低耦合,所以现在在做开发的时候,也往往会去想,怎么降低耦合度呢。

软件工程书籍中,这么写道,高内聚及低耦合可以给我们软件开发人员带来可读性、复用性、可维护性和易变更性。

耦合天成

软件开发过程中,耦合是不可避免的,除非做出来一个超级巨大,包含一切功能的类/模块,都放在里面做(这显然并不是高内聚,只是把乱七八糟的揉在一起),否则模块与模块之间必然存在一定的耦合。

既然耦合不可避免,那高耦合和低耦合,又会对开发和维护产生什么影响呢?

高耦合,也就意味着两者之间存在强的关联,比如强持有、双向依赖、多个变量/常量的互相访问,如此也就造成其中一个需要更改的时候,另一个类也需要大量更改,而在Runtime的领域,则可能发生其中一个导致另一个不能释放。尤其实际生产过程中,往往不只是两个类有耦合关系,会有更多的类,从而产生一条耦合链。

低耦合,即两者之间关联较弱,比如广播,dataflow架构,单向单依赖等等。组合优于继承这个说法,也是从业务模型的角度,组合有时候相对于继承降低了耦合。

耦合的代价

高耦合的代价,从开发人员角度来说,会导致

维护困难:因为各种逻辑揉在一起,互相之间依赖来依赖去,查问题的时候很难定位。变更困难:由于关联太强,修改一个小需求却要改很多逻辑难以复用:新开发的功能用到了相同的逻辑,但是只能复制黏贴过去。比较常见的一个例子就是应该在utils里的东西却在业务代码里。可读性差:过一阵子自己看,或者换了负责人员后,很难读懂原来的逻辑

低耦合的代价,则可能会需要付出性能、代码行数、更多的时间去设计和解耦。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有