0
假設我分別具有類A,B和C的doA(),doB()和doC()方法。 ()方法應該屬於類A.它必須從類A執行。如果一個方法doA()對A負責,它存在於類B中,而不是類A中。加上B的服務。這也代表了低凝聚力和高耦合對象的耦合
我的推理是否正確?
假設我分別具有類A,B和C的doA(),doB()和doC()方法。 ()方法應該屬於類A.它必須從類A執行。如果一個方法doA()對A負責,它存在於類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
的,這纔是你遇到麻煩,你的代碼變得硬脆。
多告訴我們; doA()實際上對A類有什麼作用?它是創建一個A還是消耗一個A或更新一個A還是什麼? – 2011-04-20 16:34:29
A類是信息專家。它是一個董事會對象。 doA()表示getSquare()方法。而B類表示Square對象。 – user478636 2011-04-20 16:39:05