例子:依賴注入解決循環依賴
class MyClass
{
Composition m_Composition;
void MyClass()
{
m_Composition = new Composition(this);
}
}
我很感興趣,這裏使用depenency注射。因此,我將不得不構造重構的東西,如:
void MyClass(Composition composition)
{
m_Composition = composition;
}
但是我現在得到一個問題,因爲Composition
-object依靠其剛剛創建MyClass
類型的對象。
依賴項容器可以解決這個問題嗎?它應該這樣做嗎?
還是從一開始就只是糟糕的設計?
感謝您的回答。我會試着找出在我的情況下是否可以避免循環引用,雖然我不確定,但是:我需要引用來訂閱Composition的構造函數中的MyClass的一些事件...感謝您提及您的書,它聽起來很有趣。我期待着閱讀它。 – tanascius 2010-04-14 11:16:39
要清楚:儘管您已經可以購買該書的早期訪問權限,但關於處理循環引用的部分尚不可用。 – 2010-04-14 11:54:18