Kephas评估依赖注入。 [关闭]

问题描述 投票:0回答:1

在评估Kephas时,我已经看到它使用了Microsoft的Managed Extensibility Framework(System.Composition包)。但是,我们使用Ninject进行依赖注入。我被迫更换DI容器,还是可以使用Ninject?

.net dependency-injection frameworks ninject kephas
1个回答
1
投票

您不必更改您使用的DI框架的任何内容,在本例中为Ninject。但是,根据您的迁移策略,您必须考虑以下事项:

  • Kephas使用DI抽象,理论上可以在任何具体的DI实现上运行,所以从技术上讲,你可以使用Ninject容器。

=但是=

  • Kephas广泛使用DI元数据,据我所知,Ninject不支持元数据。

所以你有以下选择:

  • 使用两个DI容器。这对于完成整个迁移的时间来说可能是实用的,但从长远来看我不会推荐它。
  • 使用支持元数据的其他DI容器。如果您对提供内置支持的System.Composition(MEF)适配器不满意,可以选择Autofac,但要使用它,您必须提供容器适配器(这并不复杂)。通过这样做,您将只有一个DI容器。

结论:即使您不必更改DI框架,由于上面提供的原因,建议您这样做。

您可以查看DI wiki以获取更多信息。

免责声明:我是Kephas Framework的首席开发人员。

© www.soinside.com 2019 - 2024. All rights reserved.