我寫了一個WPF應用程序,它有兩個不同的主窗口。我不知道要在運行時啓動哪一個程序,只需查找數據庫中使用該程序的用戶是什麼類型。我目前的代碼有效,但Castle Windsor通過爲這兩種窗口創建對象圖來完成大量額外的工作。構圖根的可選依賴項
private readonly IMainWindow _mainWindow;
private readonly ISimplifiedMainWindow _simplifiedMainWindow;
public MainClass(
IMainWindow mainWindow,
ISimplifiedMainWindow simplifiedMainWindow)
{
_mainWindow = mainWindow;
_simplifiedMainWindow = simplifiedMainWindow;
}
public RunApp()
{ // pseudocode
if (user is fullUser) _mainWindow.Show();
else _simplifiedMainWindow.Show();
}
如何推遲我的窗口對象的創建而不訴諸抽象工廠,基本上會重複Castle Windsor做什麼?
相關:http://stackoverflow.com/questions/31950362/factory-method-with-di-and-ioc – NightOwl888