凝聚力VS。耦合

发布于 2024-11-27 02:36:52 字数 204 浏览 0 评论 0原文

这个问题将软件视为一棵树,其中:

  • 树中的每个节点代表一些代码单元(例如类\方法\行等)
  • 如果在源代码中X设置在Y中,则节点X是节点Y的儿子

这里是术语 T 的定义:

相对于节点 X 的 T 是 X 上的任何更改将导致 X 的子树内的节点发生更改的概率。

术语 T 是什么?内聚还是耦合?

This question will treat software like a tree, where:

  • Each node in the tree represents some code unit (eg class \ method \ line etc.)
  • Node X is son of Node Y if in the source code X is set in Y

Here is the definition of the term T:

T relative to Node X is the probability that any change on X will result changes in nodes that are within the sub-tree of X.

What is the term T? Cohesion or Coupling ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

_畞蕅 2024-12-04 02:36:52

耦合将是水平的、跨节点的。凝聚力将是垂直的,在同一棵树内。
所以 T 就是内聚力。

两个松散耦合的独立模块将位于不同的子树中,其中一个模块的更改不会影响另一个模块。但如果紧密耦合,其中一个的更改可能需要另一个的更改,即使它们位于不同的子树中。显然这不可能是T。

Coupling would be horizontal, across nodes. Cohesion would be vertical, within the same tree.
So T would be cohesion.

Two separate modules, loosely coupled, would be in separate subtrees, and a change in one would not affect the other. But if tightly coupled, a change in one might require a change in the other, even though they are in separate subtrees. Obviously this cannot be what T is.

_失温 2024-12-04 02:36:52

内聚:它是一个模块内概念,表示模块内的关系。
耦合:是一个模块间的概念,表示模块之间的关系。

为了确保任何系统或软件的灵活性和刚性的平衡,耦合和内聚应该平衡。

有关更多详细信息,请参阅此参考

Cohesion: It is an intra-module concept and indicates relationships within modules.
Coupling: It is an inter-module concept and indicates relationships among modules.

In order to ensure a balanced flexibility and rigidity of any system or software, coupling and cohesion should be balanced.

See this reference for more details.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文