解决方案
耦合
松动的:你和便利店里的那个人。你们通过明确的协议进行沟通,以实现各自的目标——你付钱,他让你带着一袋奇多走出去。可以在不破坏系统的情况下更换你们中的任何一个。
紧的:你和你的妻子。
凝聚
低的:便利店。从汽油到牛奶再到 ATM 银行业务,您都可以去那里购买各种东西。产品和服务几乎没有共同点,将它们全部集中在一处所带来的便利可能不足以抵消由此带来的成本增加和质量下降。
高的:奶酪店。他们卖奶酪。没有其他的。但就奶酪而言,无法击败他们。
其他提示
耦合 - 衡量一个模块(包、类、方法)对其他模块的依赖程度。人们希望减少耦合,或者减少给定模块对系统其他模块的依赖程度。
内聚性 - 模块的成员(类、方法、方法内的功能)与同一模块的其他成员的相关程度的度量。增加内聚性是可取的,因为这表明模块具有非常具体的任务并且只执行该任务。
耦合意味着对他人的依赖。
凝聚力意味着其自身的完整性。
测量耦合的一种快速而简单的方法是测量你的 import
(或类似的)陈述。
“耦合是对模块之间相互依赖性的量度,应该最小化”“内聚力,最大化的质量,重点是每个模块执行的活动之间的关系。”
引用这篇论文: http://steve.vinoski.net/pdf/IEEE-Old_Measures_for_New_Services.pdf
不隶属于 StackOverflow