我有兩個類,A類和B類。 類A有一個方法,它創建一個B類的實例並使用該實例調用一個公共方法。需要的類設計
B obj = new B();
obj.DoSomething();
現在類B的DoSomething()方法有一個循環。
public void DoSomething()
{
for(int i=1;i<=10;i++)
{
//Do some task
//call a method of class A for this iteration
}
}
這樣做的最佳方法是什麼? 如果我在DoSomething()方法中創建類A的實例,然後調用類A的方法,它是否會導致循環引用?這是做到這一點的正確方法嗎?
爲什麼在你原來的A'的'實例作爲不及格「DoSomething」方法的一個參數?編輯:另外,很難說基於有限的上下文,但另一種可能性是要求'B'構造函數提供'A'的實例,'B'可以將該引用存儲在專用字段中。 –
是否(通過一個實例傳遞給另一個類的方法或構造函數)以正確的方式做到這一點? –
很難說基於有限的上下文,但在耦合類中的這種行爲應該表明糟糕的架構設計如果負責性設計得很好B不應該依賴上層來正常工作 – jlvaquero