作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我现在正在进一步介绍 java 类,这就是该类的简要定义:
内聚:以高内聚为目标,在本例中,内聚意味着单个模块紧密关注其任务。
耦合:以低耦合为目标,在这种情况下,耦合意味着两个或多个模块交织的程度。
如何确定内聚性和耦合性的水平?
例如,我的一些方法调用同一类中的其他方法。这意味着调用其他方法的方法依赖于其他方法,以便“调用”方法完成其代码块。这是否意味着我对同一个类的方法具有低内聚和高耦合?或者这些概念更多地指的是不同的类和不同的包?
最佳答案
内聚和解耦在各个层面都很重要:每一行代码应该有特定的含义和目的,每个方法应该有特定的含义和目的,每个类应该有特定的含义和目的,每个包应该有特定的含义和目的。含义和目的,每个代码存储库都应该有特定的含义和目的。
这并不意味着一个方法不应该调用另一个方法,一个类不应该使用另一个类,等等;相反,这意味着理想情况下,您应该能够阅读和理解一个方法,而无需阅读它调用的所有其他方法,阅读和理解一个类,而无需阅读它使用的所有其他类,等等。
也就是说,我们期望更大的单元具有更大的内聚性和解耦性:例如,类需要比方法具有更高的内聚性和更少的紧密耦合,因为假设你的类有一个合理的大小,你可以更轻松地去当您阅读和维护代码时,在方法之间来回而不是在类之间来回。关于java - 内聚性和耦合性——如何确定阈值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41868654/
虽然这个论坛上有很多包含耦合和内聚示例的好示例,但我正在努力将其完全应用到我的代码中。我可以识别代码中可能需要更改的部分。是否有任何 Java 专家能够查看我的代码并向我解释哪些方面是好的和坏的。我根
我对拆分对象的正确方法有疑问。 假设我有两个对象,例如工具和技术。一个技术可以有多个与之关联的工具对象,但它是否被认为是低内聚/紧密耦合让技术直接了解一个工具?让 Technology 对象包含一组
我是一名优秀的程序员,十分优秀!