我在VS2010中有幾個項目的解決方案,每個項目都在我的應用程序中組成一個圖層。我有業務實體,它們是當前沒有方法的對象,並且我有一個管理層,它引用其項目中的業務實體層。我現在認爲我已經設計好了我的應用程序,並且希望將輔助類(位於另一層)中的方法移動到我將在業務實體中創建的方法中。如何讓我的業務對象層在其方法中使用管理層?
例如,我有一個VirtualMachine對象,它使用助手類來調用它的Reboot()方法,該方法將請求傳遞給管理層。靜態管理器類與重新啓動虛擬機的API進行通信。我想重新啓動()方法遷入的虛對象,但我需要引用管理層:
public void Reboot()
{
VMManager.Reboot(this.Name);
}
所以,如果我在我的實體項目中添加引用我的管理項目,我得到的圓形依賴性錯誤,這應該如何。我怎樣才能排除這種情況?我是否需要在實體層和管理層之間設置另一個層?或者,我應該忘記它並保持原樣。
現在應用程序可以正常工作,但我擔心我的設計不是特別以OOP爲中心的,我想更正此問題。