假设我有分别属于A、B和C类的doA()、doB()和doC()方法。
除非我错了,否则doA()方法应该属于A类。它必须从A类执行。如果在B类中存在为A负责的doA()方法,则A类耦合到B的服务。这也代表了低内聚和高耦合。
我的推理正确吗?
发布于 2011-04-21 00:39:41
如果一个类的所有方法都对它的所有成员变量进行操作,那么它就具有最大内聚力。
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的结构,这就是你遇到麻烦的地方,你的代码变得僵硬和脆弱。
https://stackoverflow.com/questions/5733604
复制相似问题