12

谁能想到将 IOC 放入控制台应用程序的好解决方案?

目前我们只是使用具有以下方法的静态类:

public static T Resolve<T>()
{
    return dependencyResolver.Resolve<T>();
}

我希望体验是无缝的,但想不出从控制台应用程序实现这一点的方法。

4

4 回答 4

7

您将不得不在Resolve<T>()某处进行服务定位调用 ( )。诀窍是让它尽可能不碍事。对于控制台应用程序,此引导发生在Main()方法中。在那里做,并尽量减少其他地方的那些 Resolve 调用,你会很棒的。对于大多数依赖项,使用构造函数注入。

于 2009-01-11T22:46:49.267 回答
3

控制台应用程序对 IoC 的 Web 或表单应用程序没有任何限制。您可以使用任何您的选择(Spring、Ninject、Unity 等)。它们中的大多数都可以在您的控制台应用程序外部使用 XML 文件进行配置,而像 Ninjector 这样的一些需要在您的应用程序内部进行配置。

于 2008-11-13T19:13:04.647 回答
1

我从控制台应用程序中使用了 Spring.NET,没有任何问题。你只需要把它指向你的配置文件,它就会连接所有的依赖项。当然,您如何处理这些对象取决于您的控制台应用程序正在尝试做什么。

于 2008-11-13T19:08:34.407 回答
1

签出 Microsoft Unity

于 2008-11-13T19:12:05.880 回答