日期:2014-05-20  浏览次数:20996 次

什么叫耦合性和内聚性
经常听见 别人在设计的时候,比如接口,要设计的低耦合 高内聚
一直没有好好地理解这两样东西
求高手给我点思路 最好拿个例子来说说
------解决方案--------------------
藕合度指程序模块间存在联系的紧密程度 
内聚性则是模块内部的相互依赖程度
低耦合就是模块之间的关联少,越独立耦合度越低
高内聚就是模块的内容针对干的事情少,功能越单一内聚越高 
低耦合  电脑的主板上的各种插槽,可以连接很多外置的各种各样的设备,不需要做什么只要简单地“插进去”
不管是分工,还模块设计。模块间,联系越少越好。

------解决方案--------------------
高内聚:按职责划分组件;
低耦合:引入虚拟组件改善各个组件之间的驱动关系,使得系统的层级扁平化,而不是像长长的链条或者一张网
------解决方案--------------------
引用:
藕合度指程序模块间存在联系的紧密程度 
内聚性则是模块内部的相互依赖程度
低耦合就是模块之间的关联少,越独立耦合度越低
高内聚就是模块的内容针对干的事情少,功能越单一内聚越高 
低耦合  电脑的主板上的各种插槽,可以连接很多外置的各种各样的设备,不需要做什么只要简单地“插进去”
不管是分工,还模块设计。模块间,联系越少越好。


如梦大哥能否举个例子  拿代码举。。
如果设计的耦合度高了会有什么后果
如果内聚度低了会有什么后果
------解决方案--------------------
引用:

不太认同你的说法,基于你的这种观点,才会有很多人不谈业务,却嚷嚷着什么解耦;
内聚的强度指的是组件职能逻辑上的不可分割性,而不是单纯指它的功能的多少,这个概念可以应用在系统的不同层级和粒度上;
同时,组建之间必然存在各种方式的耦合,并不是联系越少越好,否则不可能组成复杂的大型系统,必然存在的耦合你是无法抹杀的,
工艺上,会通过改变耦合方式来减弱组建彼此的伤害和不良传导,
有时甚至需要人为增加组件的驱动层级,引入"看似多余的"组建,以增强系统的可靠性和可用性;
我们追求的好的设计,而不是不顾业务场景,硬生生的去人造什么逻辑和隔断业务之间固有的关系