假设我分别有 A、B 和 C 类的 doA()、doB() 和 doC() 方法。
除非我错了,否则 doA() 方法应该属于 A 类。它必须从 A 类执行。如果为 A 负责的方法 doA() 存在于 B 类中。那么 A 类与 B 的服务耦合. 这也代表低内聚和高耦合
我的推理正确吗?
假设我分别有 A、B 和 C 类的 doA()、doB() 和 doC() 方法。
除非我错了,否则 doA() 方法应该属于 A 类。它必须从 A 类执行。如果为 A 负责的方法 doA() 存在于 B 类中。那么 A 类与 B 的服务耦合. 这也代表低内聚和高耦合
我的推理正确吗?
如果一个类的所有方法都对它的所有成员变量进行操作,则该类具有最大的内聚性。
public class MyClass
{
private int value1;
private int value2;
private int value3;
public int Method1()
{
return value1 + value2;
}
public int Method2()
{
return value1 - value2;
}
// doesn't belong on this class
public int Method3()
{
return value3 * 2;
}
}
耦合有两种形式:
例子:
public class MyClass
{
public void Method1()
{
var c = new MyOtherClass();
c.DoSomething();
}
}
例子:
public class MyClass
{
public void Method1()
{
var c = new MyOtherClass();
var size = c.Members.Size;
...
}
}
在这种情况下,MyClass
不仅与MyOtherClass
相关,而且与 的结构耦合,MyOtherClass
这是您遇到麻烦的地方,您的代码变得僵硬和脆弱。