问题标签 [cohesion]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
oop - 从 XML 类图计算耦合和内聚度量
我正在尝试创建一个项目,以使用粒子群优化为班级责任分配问题提供决策支持。考虑耦合和内聚等各种参数,导出适应度函数,并进行粒子群优化。程序的输入将是 XML 格式的 UML 类图。如何从 XML 格式的 UML 类图中计算以下参数:
MAC(c) - 类 c 与其他类之间的方法-属性耦合 - 一个类 (c) 的方法与同一类图中其他类的属性之间的交互总数 MMC(c) - 类之间的方法-方法耦合c 和其他类——一个类 (c) 的方法与同一类图中其他类的方法之间的交互总数 MGC(c) 方法泛化耦合——这仅适用于应用泛化的类图中。
RCI(c) c 类内聚相互作用的比率:RCI(c) = |CI(c)| / |CImax(c)|。
CImax(c) 是类 c 中最大可能的内聚相互作用。CI(c) 是类 c 中现有内聚交互的数量。
TCC(c) 紧密类内聚 - 是常用的类 c∈C 的方法对 m1 和 m2。
DMA (m,a) 方法 m 和属性 a 之间的直接方法属性依赖关系。
DMM (m1,m) m1 和 m2 之间的直接方法-方法依赖关系。
如何从 XML 格式的 UML 类图中计算这些参数?
sequential - 软件设计架构中的过程内聚和顺序内聚有什么区别?
程序内聚说模块的部分是分组的,因为它们总是遵循特定的执行顺序, 而顺序内聚说模块的部分是分组的,因为一个部分的输出是另一个 部分的输入,例如装配线。这些定义是模棱两可的。请解释。
java - 凝聚力和耦合 - 如何确定阈值?
我现在正在进一步介绍 java 类,这是该类简要定义的方式:
内聚力:以高内聚力为目标,在这种情况下内聚力意味着单个模块紧密地专注于其任务。
耦合:以低耦合为目标,在这种情况下,耦合意味着两个或多个模块相互交织的程度。
如何确定内聚和耦合的水平?
例如,我的一些方法调用了同一个类中的其他方法。这意味着调用其他方法的方法依赖于其他方法,以便“调用”方法完成其代码块。这是否意味着我对同一类的方法具有低内聚和高耦合?还是这些概念更多地涉及不同的类和不同的包?
oop - 代码耦合、内聚和脆弱性是什么关系?
我试图理解代码耦合、凝聚力和脆弱性。我想检查一下我目前的理解。目前我得出以下结论:
低耦合 = 高内聚 = 低脆弱性
反之亦然:
高耦合 = 低内聚 = 高脆弱性
当我使用“=”时,我的意思是实现三个中的任何一个都会实现另外两个。这是真的还是假的,或者他们对此有任何例外。带有事实的示例会更有用。
oop - 如何重构这些类以相互交互?
我的要求是使用形状的名称并使用方法中的尺寸绘制该形状Draw('rectangle', 'l:10,w:20');
。
- 应该根据形状的类型验证尺寸。
- 可以重构这些类以添加更多类或更改层次结构。
- 不应使用像反射这样的运行时检查。这个问题只需要通过类设计来解决。
- 不要在客户端方法中使用
if-else
orswitch
语句Draw
。
要求:
我创建了以下类。我通过创建两个类层次结构来考虑低(松散)耦合和高内聚性,这样它们就可以自行增长。我保留了绘制到一个类并为另一个类生成维度的责任。
我的问题是关于创建这些对象并相互交互以实现我的要求。
architecture - 我对耦合的含义是否正确?
我将尝试写一些关于软件耦合和凝聚力的想法,但我不确定它们是否意味着任何实际的东西。所以如果你想用例子来解释你的答案,请使用简单的代数表达式,想象代数是一种顺序编程语言,这样我们都可以理解你在说什么......
所以这就是我想要相信的(这是正确的吗?):
...
...
...
c# - 助手/存储类的内聚度低,真的错了吗?
有一个像这样的类,两个实例变量有两个 getter:
该类将被归类为完全缺乏凝聚力。但是,我相信在某些情况下需要这样的无状态对象,因此不应该应用内聚度量。或者这是一个错误的方法/想法?事实是,除了本材料末尾提到的一些案例外,我从未读过关于低内聚力的文章:http ://www.aivosto.com/project/help/pm-oo-cohesion.html
java - 高内聚和松耦合的优化
我在一次技术面试中被问到一个项目的内聚和耦合。我广泛解释了他们的定义,尽管我没有正确回答问题的第二部分,正如他所说。
“我们如何在一个项目中同时实现高度内聚和松散耦合的设计,请解释如何在单体项目中实施这种方法?”
我回答说这两个目标是矛盾的,所以我们需要为每个项目或模块找出最好的选择,但我无法提供一个全面的答案。
如果有人帮助我,我将不胜感激。
java - 这被认为是低耦合和高内聚吗?有改善的机会吗?
我正在尝试掌握 Robert C. Martin 的 SOLID 原则。目前我正在研究低耦合和高内聚。我创建了一些代码来代表我目前对这个主题的理解。你们能告诉我是否在正确的轨道上吗?有机会改进当前的设计吗?
创建两个地址并将其分配给员工的主应用程序:
员工等级:
地址接口:
具体地址实现1(HomeAddress):
具体地址实现2(WorkAddress):
任何帮助/反馈将不胜感激!提前致谢。
马克。
design-patterns - 用于演示的高内聚和松散耦合的真实示例
我需要做一个关于高内聚和松耦合的演示。为了向我的听众解释这一点,我需要提出这两个术语的真实示例(不是基于代码的),但我很难找到一个。所以想问问大家有什么好的想法吗?
非常感谢 :)