IoC容器配置应该放在哪里?

3

在你的解决方案中创建另一个项目来配置容器和注册表是否是一种好的实践?我正在思考应该把容器配置放在哪里,目前我把所有代码都放在全局asax文件中,但随着我添加更多的注册表和更高级的注入,它变得越来越混乱。

4个回答

2

2
我通常在我的Web项目中创建一个Registry类,使用StructureMap将所有内容绑定在一起。请参阅此链接:http://structuremap.github.com/structuremap/RegistryDSL.htm 如果您的解决方案中有许多具有自己配置的项目,则可能希望为这些项目提供其自己的注册表,但直到在global.asax中的application_start时才实际注册它。
IoC的一部分是等待在需要时将所有内容绑定在一起。这样更具可配置性。因此,如果您可以将注册表保留在您的网站中,您将拥有最大的灵活性。

0

我们将它们分为一组类,然后从Global.asax实例化根类。例如:

  IPreferredContainerType container = new RootContainerFactory().Container;
  Application["Container"] = container;
  Container = container;

根容器可以组合特定于模块的容器,这允许您轻松混搭。只是基本的封装。

0
我希望我的每个项目都有自己的注册表,并且配置文件(Jeremy称之为引导程序)位于您的主应用程序(Win/Web/Console)中。这样,就可以轻松地更换主应用程序,而不必触碰任何注册表。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接