我应该写同一代码的两个版本。一个具有低耦合和高内聚力,另一个仍然具有低耦合,但是这次具有低内聚力。我真的不明白有什么区别吗?如何降低耦合度和凝聚力?它们似乎是如此相关,以至于不可能做到。
有人可以解释吗?也许举个例子?谢谢!
简而言之:
与现实生活一样,软件工程的凝聚力是可以说组成一个整体(在我们的情况下,我们说一个类)的元素实际上属于同一元素的程度。因此,它衡量了由软件模块的源代码表达的每个功能之间的关联程度。
从OO角度看内聚的一种方法是,如果类中的方法使用任何私有属性。
现在讨论的范围比这个要大,但是高内聚力(或内聚力的最佳类型-功能内聚力)是将模块的各个部分归为一组,因为它们都对模块的一个明确定义的任务有所贡献。
简单来说,耦合就是一个组件(再次设想一个类,尽管不一定)想知道另一个组件的内部工作原理或内部元素,即它对另一个组件有多少知识。
松散耦合是一种将系统或网络中的组件互连的方法,以使这些组件在实际可行的范围内相互依存程度最小……
总而言之:
我写了一篇关于这个的博客文章。它通过示例等详细讨论了所有这些内容。它还解释了为什么遵循这些原则的好处。我认为这可以帮助...
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句