高內聚,低耦合

一、高内聚:

(一)、定义:

指的是一个模块内部的所有元素(如函数、方法、类等)都紧密相关,并且共同完成一组相关的任务或者服务同一目标。换句话说,模块内部的各个部分应该有很强的相关性和一致性,它们的功能应当高度集中,尽量减少不必要的对外交互。
例如,在软件开发中,如果一个类只负责一项特定的任务(如数据验证),并且所有与该任务相关的操作(如不同类型的输入验证规则)都在这个类中定义和实现,那么我们
就说这个类具有高内聚性。

(二)、高内聚的好处包括:

   1.    提高代码可读性和可维护性,因为每个模块的目标和功能清晰明确。
    2.    降低耦合度,即模块内部高度独立,修改一个模块的行为时,对其他模块的影响较小。
    3.    提升复用性,因为模块功能单一且集中,更容易在多个场景下重复使用。

二、低耦合:

(一)、定义:

指的是一个模块内部的实现细节对其它模块的影响尽可能小,各个模块之间相互独立,各自负责不同的功能,并通过明确、简单的接口进行交互。即使一个模块发生变化,也不会对其他模块产生大的影响,各部分能够相对独立地开发、测试、部署和修改。
例如,在软件开发中,如果两个类A和B之间只有必要的接口调用,而没有直接访问对方内部属性或者方法,那么这两个类就实现了低耦合。这样,无论对类A还是类B进行修改或扩展,都不会直接影响到另一方。

(二)、低耦合的好处包括:

    1.    提高系统的可维护性,因为局部的修改不会引起全局范围的问题。
    2.    有利于代码复用,每个模块的功能独立且边界清晰,更易于提取出来应用在其它项目中。
    3.    促进团队协作与并行开发,由于模块间依赖少,团队成员可以独立开发各自的模块,减少沟通成本和冲突可能性。
    0.    适应需求变化,当业务需求发生变化时,只需调整相应模块,降低修改成本。

三、耦合度:

(一)、定义:

在软件工程和模块化设计领域,是指不同模块、组件或系统之间相互依赖的程度。它衡量的是一个模块内部的元素(如函数、类或子程序)与另一个模块内部元素之间的关联性、连接强度或者说是互相影响的紧密程度。

(二)、类型:

    1.    内容耦合:这是最高程度的耦合,一个模块直接访问或修改另一个模块的内容,例如全局变量、静态变量等。
    2.    控制耦合:模块间通过控制流程(如分支语句或循环条件)进行交互。
    3.    数据耦合:模块间通过参数交换数据,仅依赖于数据本身而无需知道其产生的细节。
    4.    公共耦合:多个模块访问同一全局数据结构或外部接口。
   5.    标记耦合:模块间通过传递某些特殊标记(比如枚举值)来决定彼此的行为。
    0.    接口耦合:模块间通过定义清晰且有限的接口进行交互,这种耦合相对较低。

(三)、优点

“高内聚、低耦合”。这意味着每个模块应该尽可能独立,并完成单一职责,同时减少与其他模块间的依赖关系。

降低耦合度有助于提高系统的可维护性、可扩展性和可复用性,因为当修改一个模块时,对其他模块的影响会减小,从而使得系统整体更加稳定。

  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值