首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >关于耦合的意义,我说得对吗?

关于耦合的意义,我说得对吗?
EN

Stack Overflow用户
提问于 2017-03-31 22:18:01
回答 3查看 68关注 0票数 0

我将尝试写一些关于软件耦合和内聚力的想法,但我不确定它们意味着什么实际的东西。所以,如果你想用例子来解释你的答案,请使用简单的代数表达式,把代数看作是一种顺序编程语言,这样我们都能理解你在说什么……

在维基百科上读到它。

以下是我想要相信的(这是正确的吗?)

代码语言:javascript
复制
'Implementation of A with Low Cohesion
'(Coincidental cohesion because there is no 
' good reason or need to group the functions
' in this way)
a(x) = 2x + 1
b(x) = 3x + 2
r(x) = a(x) + b(x) 

..。

代码语言:javascript
复制
'Implementation of A with High Cohesion (Almost Atomic)
r(x) = 5x + 3

..。

代码语言:javascript
复制
'Implementation of A with Low Cohesion too
a(x) = 2x + 1
r(x) = a(x) + 3x + 2

..。

代码语言:javascript
复制
'Implementations of A with Functional Cohesion
a(x, y) = x * y   'Groups multiplication
b(x, y) = x + y   'Groups addition
r(x) = b(a(5,x), 3)
EN

回答 3

Stack Overflow用户

发布于 2017-03-31 23:03:29

有趣的观点,你在正确的道路上理解更大的概念。既然您引用了Wikipedia的文章,那么您认为您的示例代表了列出的十种耦合类型中的任何一种吗?

我看到您的示例可能表示数据和/或消息耦合,但这是因为基本代数语句不维护状态(例如,存储值)。

首先,认识到这个简单的代数最终将过于简单化,无法表示软件开发中所有重要的耦合模式。现在,我建议在函数中添加多个变量,并使用不同的变量名等等,以增加函数可能的转换方式。

为了说明一些其他耦合模式,您至少需要一些方法来存储值和引用以前存储的值.我们都在解决代数问题时所做的事情,而不是用通用的语法或结构教授的东西。(回想一下划痕纸和空白处的工作问题来解决问题?也许没有人教你一个严格的系统来做这件事,或者每个人都遵循。)当您开始将这些特性添加到您的示例中来说明不同的耦合时,您最终将得到与您自己的编程语言相当的结果。根据您的意图,这可能是一个非常有价值和愉快的练习,但您也可能会发现,尝试用现有语言表示耦合类型,以便更有效地学习概念。

票数 0
EN

Stack Overflow用户

发布于 2017-04-01 00:50:50

读得再远一点(多亏了凯德·珀金斯),看来我错了。

这些例子实际上是关于凝聚力(维基百科的说法)

代码语言:javascript
复制
'Implementation of A with Low Cohesion
'(Random cohesion because there is )
' no reason to group the functions
' in this way)
a(x) = 2x + 1
b(x) = 3x + 2
r(x) = a(x) + b(x) 

..。

代码语言:javascript
复制
'Implementation of A with High Cohesion (Almost Atomic)
r(x) = 5x + 3

..。

代码语言:javascript
复制
'Implementation of A with Another Random Cohesion
a(x) = 2x + 1
r(x) = a(x) + 3x + 2

..。

代码语言:javascript
复制
'Implementation of A with Functional Cohesion
a(x, y) = x + y       ' Groups Addition
b(x, y) = x * y       ' Groups Multiplications
r(x) = a(b(5, x), 3)
票数 0
EN

Stack Overflow用户

发布于 2021-08-12 11:16:46

在非常简单的术语中-耦合表示一个类与程序中其他类的连接数。它拥有的越多,耦合的程度就越高。理想情况下,越小越好。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43150481

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档