gpt4 book ai didi

wpf - 在 WPF 应用程序中何处放置和配置 IoC 容器?

转载 作者:行者123 更新时间:2023-12-02 17:34:45 26 4
gpt4 key购买 nike

我正在开发一个中型 WPF 应用程序 (MVVM),该应用程序将来应该是可扩展和可维护的。因此,我决定使用 IoC 容器(在本例中为 Unity)来保持灵 active 。

但是我不确定在 WPF 应用程序中的何处放置和配置 Unity。

我猜容器应该可以全局访问,所以它可能应该进入应用程序类。但我应该将其设为静态属性吗?我应该在 Application_Startup() 事件处理程序中配置它吗?

例如:

/// <summary>
/// Interaction logic for App.xaml
/// </summary>
public partial class App : Application
{
public static UnityContainer MyUnityContainer;


private void Application_Startup(object sender, StartupEventArgs e)
{
// instantiate and configure Unity
}
}

这样我就可以通过静态属性从应用程序中的任何位置访问容器:

App.MyUnityContainer

我想这是一种方法,但我不确定是否有更好的做法来解决这个问题,特别是对于 WPF 应用程序。

最佳答案

看看 Composition Root Pattern 。您要做的就是在 Startup 事件处理程序中初始化它,并在应用程序的其余部分中忘记它的存在。

您正在尝试实现 Service Locator Pattern ,根据许多is an inferior solution对于这个问题。

关于wpf - 在 WPF 应用程序中何处放置和配置 IoC 容器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10372463/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com