什么是高内聚 低耦合
高内聚低耦合的简单理解
在软件开发或者互联网开发中,一个好的应用程序应该是容易维护的,好维护指的就是一处代码的修改不会引起大范围的代码修改。
举个例子:修改了一个方法中的一行代码,然后不得不修改与这行代码相关的几百处代码,这种开发模式显然是不够好的。使用计算机官方的语言来说就是代码的耦合度太高,程序之间相互依赖的程度太高,导致的代码维护复杂。
基于高内聚 低耦合的开发思路设计软件或者应用
模块粒度
在讨论高内聚以及低耦合之前,首先明白模块的粒度,有助于理解上面的上个概念
模块:可以使一个方法、可以是一个类、可以是子系统的所有代码。
高内聚
在模块的不同粒度下的模块之内的代码的依赖程度;
举例:在一个方法中,方法体重代码之间是相互依赖的那么这个方法(模块的一种粒度)就是高内聚的。换句话讲,在一个类中(模块的一种粒度)类中的代码之间是相互依赖的,这个这个类就是高内聚的。
低耦合
在模块的不同粒度下的模块之间的代码的依赖程度;
举例:在一个方法 A 中,使用到了其他的方法 B,方法 B 修改的时候,由于 A 使用了 B 方法,所以方法 A 也可能需要进行修改才能达到正确使用方法 B 的效果。此时如果有 100 个方法使用了方法 B 那么就可能需要修改 100 次,这样是十分麻烦的,方法之间的耦合度就是太高了,维护成本增加了,所推荐使用低耦合
小结
本文简单的阐述了模块中代码的高内聚以及低耦合的相关概念,重点是理解高内聚以及低耦合是需要考虑模块之间的不同粒度的。同一粒度下,程序内部依赖程序越高那么内聚性越高,同一粒度下,程序之间的依赖程度越低那么耦合度就越低。在程序开发前期进行接口设计的时候,需要考虑程序的高内聚以及低耦合实现程序的容易维护。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)