gpt4 book ai didi

dependency-injection - 将 Spring.Net IoC 替换为另一个容器(例如 Ninject)

转载 作者:行者123 更新时间:2023-12-04 00:16:39 25 4
gpt4 key购买 nike

我很想知道是否可以 替换 Spring.Net 带有 Ninject 的内置 IoC 容器。我们在我的团队中将 Ninject 用于其他项目中的 IoC,因此如果可能的话,我想继续使用该容器。

这可能吗?有没有人写过 Ninject-Spring.Net 适配器?

编辑

我喜欢 Spring.Net 包的许多部分(数据访问、事务等),但我不太喜欢依赖注入(inject)容器。我想用 Ninject 替换它

谢谢

最佳答案

我无法具体谈论如何将 Spring.NET 转换为 Ninject,但总的来说,所有应用程序代码都应该写成 DI 容器无关 .

考虑 DI 容器的最佳方式是 Hollywood Principle .在 DI 术语中,它变为 不要调用 DI Container,它会调用你 .

换句话说,DI 的最佳应用是使用简单的模式,例如 。构造函数注入(inject) 抽象工厂 .

大多数值得一提的 DI 容器本质上都理解这些模式,因此不需要特殊的、特定于 DI 容器的跳过箍。

这也意味着理想情况下,您应该只在应用程序的单个文件中包含特定于 DI 容器的代码。这个地方叫做作文根 ,这就是 DI 容器连接整个对象图并让路的地方。

如果您遵循这一原则,您可以轻松地将一个 DI Container 换成另一个。

以下帖子有更多详细信息:

  • Where should I do Injection with Ninject 2+ (and how do I arrange my Modules?)
  • Design - Where should objects be registered when using Windsor
  • 关于dependency-injection - 将 Spring.Net IoC 替换为另一个容器(例如 Ninject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2038531/

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