028-86261949

当前位置:首页 > 技术交流 > 什么是高内聚低耦合

什么是高内聚低耦合

2019/06/26 10:46 分类: 技术交流 浏览:1

什么是高内聚低耦合

总是提到高内聚低耦合,往往同学们在学习过程中,对这个概念都不是很清楚,下面我们就这个问题,简单描述,彻底搞懂什么是高内聚低耦合

 

搞清楚模块是什么

模块就是从系统层次去分成不同的部分,每个部分就是一个模块! 分而治之, 将大型系统的复杂问题,分成不同的小模块,去处理问题!

 

耦合:主要是讲模块与模块之间的联系,

内聚主要指的是模块内部【东西聚合在一起形成了一个模块】例如方法,变量,对象,或者是功能模块

 

什么是耦合

模块与模块之间有写操作是有关联的, 如果改动一个木块其他的木块都有可能受到影响,模块与模块之间的关系越是紧密,独立性就越不好!

例如:如果模块1直接操作了木块2红的数据,这种操作模块与模块之间就为强耦合,甚至可以认为这种情况之下基本算没有分模块!如果1只是通过数据与2模块交互,这种我们称之为弱耦合!微服务独立的模块,方便去维护,或者写单元测试等等...如果木块之间的依赖非常严重,将会非常不易于维护。

内聚

模块内部的代码, 相互之间的联系越强,内聚就越高, 模块的独立性就越好。 一个模块应该尽量的独立,去完成独立的功能!如果有代码非得引入到独立的模块,建议拆分成多模块!低内聚的代码,不好维护,代码也不够健壮

 

 

 

 

如下这些接口设计原则,就是参考低耦合高内聚

设计模式一般参照六大设计原则,许多的设计模式,包括一些框架,都是参考高内聚低耦合这个点的。

单一职责原则:一个类值负责一个功能的职责

开闭原则:扩展开放,修改关闭。

里氏代换原则:使用父类的地方都能使用子类对象

依赖倒转原则:针对接口编程,

接口隔离原则:针对不同部分用专门接口,不用总接口,需要哪些接口就用哪些接口

迪米特法则: 软件实体类,尽量不与其他实体类发生关系相互作用,对外都统一的暴露接口就行了

 

#标签:高内聚,低耦合