概念 高内聚低耦合

高内聚低耦合,是软件工程中的概念,是判断设计好坏的标准,主要是面向对象的设计,主要是看类的内聚性是否高,耦合度是否低。
耦合性:也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。模块间耦合高低取决于模块间接口的复杂性、调用的方式及传递的信息
内聚性:又称块内联系。指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。若一个模块内各元素(语名之间、程序段之间)联系的越紧密,则它的内聚性就越高。
所谓高内聚是指一个软件模块是由相关性很强的代码组成,只负责一项任务,也就是常说的单一责任原则。
耦合:一个软件结构内不同模块之间互连程度的度量。
对于低耦合,粗浅的理解是:一个完整的系统,模块与模块之间,尽可能的使其独立存在。也就是说,让每个模块,尽可能的独立完成某个特定的子功能。模块与模块之间的接口,尽量的少而简单。如果某两个模块间的关系比较复杂的话,最好首先考虑进一步的模块划分。这样有利于修改和组合。

拓展阅读:高内聚低耦合是矛盾的吗?
我觉得不矛盾。高内聚是说模块内部要高度聚合,低耦合是说模块与模块之间的藕合度要尽量低。前者是说模块内部的关系,后者是说模块与模块间的关系。

看了问题的评论,感觉你如果想说服另外几个程序员,那么你确实应该把他们的观点先列出来。
从大自然来看,高内聚低耦合也是必然的啊。
你的消化系统和排泄系统,如果不是高内聚低耦合的,你试试看?

高内聚是模块功能的专一性高,独立性。
低耦合是模块之间的联系尽量少,尽量简单。
这句话描述模块设计的两个方面,不矛盾。

以下回答虽然略有不雅,但更方便理解。。。
多和自己老婆沟通交流培养感情(高内聚)
少撩别人家的大姑娘小媳妇儿(低耦合)
矛盾吗?

猜你喜欢

转载自onestopweb.iteye.com/blog/2366825