高内聚低耦合,是软件工程中的概念,是判断设计好坏的标准,主要是面向对象的设计,主要看类的内聚性是否高,耦合度是否低。目的是使得模块的可重用性、移植性大大增强。
通常程序结构中各模块的内聚程度越高,模块间的耦合程度就越低。内聚是从功能角度来度量模块内的联系,一个好的内聚模块应当恰好做一件事。
它描述的是模块内的功能联系;耦合是软件结构中各模块之间相互连接的一种度量,耦合强弱取决于模块间接口的复杂程度、进入或访问一个模块的点以及通过接口的数据。
扩展资料
实例说明:
比如订单模块,订单是跟库存息息相关的,没有库存就没有订单,订单强依赖库存。
把扣减库存的逻辑直接写在在订单模块中,那么订单模块和库存模块就耦合了另一方面,订单模块中有扣减库存的逻辑会造成订单模块的功能比较分散,功能就不够集中,便构成了低内聚。
把订单中的库存逻辑给拆分出来一个独立的库存模块,库存模块对外暴露扣减库存的接口,订单模块调用接口实现减少库存的操作,将订单逻辑与库存逻辑的依赖降低到最小,减小了订单与库存的耦合。
同时订单模块只包含订单处理的逻辑,库存系统只包含库存的处理逻辑,两个系统的业务上更加内聚
参考资料来源:百度百科-高内聚低耦合
高耦合低内聚:块间联系高,块内联系低。
其中内聚是从功能角度来度量模块内的联系,一个好的内聚模块应当恰好做一件事。它描述的是模块内的功能联系。
而耦合是软件结构中各模块之间相互连接的一种度量,耦合强弱取决于模块间接口的复杂程度、进入或访问一个模块的点以及通过接口的数据。
高内聚低耦合,是软件工程中的概念,是判断设计好坏的标准,主要是面向对象的设计,主要是看类的内聚性是否高,耦合度是否低。
程序开发中的低耦合高内聚
模块之间联系越紧密,其耦合性就越强,模块之间越独立则越差,模块间耦合的高低取决于模块间接口的复杂性,调用的方式以及传递的信息。
形象的说,就是要将代码写的和电脑一样,主类就是电脑的主机箱,当程序需要实现什么功能的时候只需要加其他的类引入接口,就像电脑上的usb接口。
一个完整的系统,模块与模块之间,尽可能的使其独立存在。也就是说,让每个模块,尽可能的独立完成某个特定的子功能。
模块与模块之间的接口,尽量的少而简单。如果某两个模块间的关系比较复杂的话,最好首先考虑进一步的模块划分。这样有利于修改和组合。
在程序开发中,尽量做到低耦合高内聚,这样程序的维护成本以及可读性也会大大增强。
参考资料来源:百度百科-高内聚低耦合
内聚就是一个模块内各个元素彼此结合的紧密程度,高内聚就是一个模块内各个元素彼此结合的紧密程度高。
所谓高内聚是指一个软件模块是由相关性很强的代码组成,只负责一项任务,也就是常说的单一责任原则。
用代码理解就是一个类尽量只形容一类事物,如果发现你写的2个类有共同的属性和方法就尽量提出来做成父类,方法就是尽量做到单一,不要一个方法就把一个功能写完了。高内聚就是在类中把方法和属性紧密的联系在一起 比如:写一个功能时尽量多分成好几个方法 在用一个方法把这些方法综合起来,对外就提供这一个方法就好了,
高内聚和低耦合是同义词。
1。高内聚,指自成一体。
2。低耦合,指对外部的依赖很小。
只是他们侧重的角度不同,内聚侧重的是内政,而耦合侧重的是外交。
一个对象有两种外交形势,一是输出价值观,让别人调用,二是输入价值观,依赖别人。低耦合指的是输入价值观应该尽量少。如果必然要输入,那么输入的形式也有强弱之分,强耦合就是严重依赖别人。
从系统角度,如果要每个对象不依赖别人,却又妄想更多的输出价值观,这是矛盾的。因此,所谓的低耦合,指的是尽量减少不必要的输入,尤其避免强耦合。
从系统角度,越接近系统底层的,越具体的,耦合越强,而越高层的,越抽象的,耦合越低