我应该写相同代码的两个版本.一个具有低耦合和高内聚力,另一个仍具有低耦合但这次具有低内聚力.我真的不明白它的区别是什么?我怎样才能具有低耦合和低内聚力?他们似乎很相关
有人可以解释一下吗?也许有一个例子?
谢谢!
软件工程中的凝聚力,就像在现实生活中一样,整体构成的元素(在我们的例子中,我们说是一个类)可以说它们实际上属于一个整体.因此,它是衡量软件模块的源代码所表示的每个功能的强烈关系的度量.
根据OO观察内聚的一种方法是,如果类中的方法使用任何私有属性.
现在讨论比这更大但是高凝聚力(或凝聚力的最佳类型 – 功能凝聚力)是模块的一部分被分组,因为它们都有助于模块的单个明确定义的任务.
简单地说,一个组件(再次,想象一个类,虽然不一定)知道另一个组件的内部工作或内部元素,即它对另一个组件有多少知识.
松耦合是一种互连系统或网络中的组件的方法,以便这些组件在实际可能的最小程度上相互依赖…
长期:
I wrote a blog post about this.它通过示例等详细讨论了所有这些.它还解释了为什么要遵循这些原则的好处.我认为这可能会有所帮助……