gpt4 book ai didi

c# - 依赖注入(inject)抽象库

转载 作者:行者123 更新时间:2023-11-30 19:55:06 26 4
gpt4 key购买 nike

有没有类似的 https://github.com/aspnet/DependencyInjection适合旧的 .NET 框架应用程序?

“包含 ASP.NET Core 和 Entity Framework Core 使用的常见 DI 抽象。”

我正在编写一个框架,我不想将特定的 IoC 容器强加给用户。

最佳答案

I am writing a framework and I do not want to force a specific IoC container on users.

做到这一点的方法是创建良好的扩展点供用户替换。拥有一个通用的 DI 抽象不是一个好主意,因为这是一个名为 Conforming Container 的反模式。 .这种反模式不是理论上的东西; ASP.NET Core 应用了这种反模式,其结果是 Simple Injector 维护者和 Autofac 维护者都无法创建完全符合定义契约的适配器实现。可以阅读 Simple Injector 的故事 herehere可以找到与 Microsoft 就此进行的一般性讨论 here .您可以在此线程中阅读我给微软的公开信 here你可以看到 Autofac 维护者 agree用这个声明。

最后,微软acknowledged通过 promise 他们将通过提供良好的集成可能性来解决问题

adequate composition roots per framework to make integration as smooth as it can be.

因此,请避免在您自己的框架中应用 Conforming Container 反模式。我们已经看到微软在 ASP.NET Core 的下一个次要版本中修复了这种反模式导致的问题。相反,正如 Mark Seemann 所描述的那样提供“良好的集成可能性”here .

关于c# - 依赖注入(inject)抽象库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39295198/

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