评估kephas时,我已经看到它使用了Microsoft(System.comPosition软件包)的托管扩展框架。但是,我们使用nInject进行依赖注入。我是被迫更改DI容器,还是可以使用ninject?
you 不必更改有关您使用的DI框架的任何内容,在这种情况下为ninject。但是,根据您的迁移策略,您必须考虑以下内容:
- kepass使用DI抽象,该抽象可以在任何具体的DI实现上进行理论上运行,因此从技术上讲,您可以在NINICK容器的引擎盖下使用。
= but =
- kephad广泛使用di元数据,据我所知,ninject不支持元数据。
因此,您有以下选项:
- 使用两个DI容器。对于桥接完整的迁移时间,这可能是实用的,但我不建议从长远来看。
- 使用另一个支撑元数据的DI容器。如果您对System.com post(MEF)适配器不满意,为提供内置的支持,则可以使用AutoFac,但是要使用它,您将必须提供容器适配器(这不是那么复杂)。通过这样做,您只有一个DI容器。
结论:即使您不必更改DI框架,出于上述原因,建议这样做。
您可能需要检查DI Wiki以获取更多信息。
免责声明:我是Kepas框架的主要开发人员。