Kephas评估依赖注入。

时间:2017-12-06 14:26:49

标签: .net dependency-injection frameworks ninject kephas

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

1 个答案:

答案 0 :(得分:1)

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

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

=但是=

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

所以你有以下选择:

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

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

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

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