有谁知道Kephas?

时间:2017-12-06 12:51:17

标签: .net frameworks kephas

我偶然发现了一个承诺强大而灵活的基础架构的框架,名为Kephas,我目前正在为现有应用程序对其进行评估,以使其更新到最新技术。我只是浏览了文档和示例,我可以看到新应用程序的潜力,但现有的应用程序呢?是否有可能实施增量策略而不是从头开始重写?有谁知道它,经验是什么?

1 个答案:

答案 0 :(得分:2)

确保它可以以递增方式完成,前提是应用程序使用的.NET框架版本高于4.5(事实上,.NET Core / .NET Standard和Mono也受支持)。事实上,有一些组织将其用于生产,并逐步将其整合在一起。还有一些架构问题需要仔细考虑,比如DI框架或数据持久层的集成,但基本上增量采用不应该带来任何严重问题。

不要忘记,Kephas Framework的核心是通过依赖注入提供的应用程序服务。使用默认提供的,或仅通过纯属性覆盖它们。您可以采用更多方法:

  • 让原始应用程序的DI容器与Kephas提供的容器并排(顺便说一句,它只是对现有DI的抽象,我们并不想重新发明轮)。不是很推荐,但如果您想这样做,它就有效。

  • 让原始应用程序的DI容器集成来自Kephas的容器。我在使用ServiceStack的Funq DI容器时亲自使用过这种策略,但它确实有效。但是,通过这种方式,原始应用程序可以访问Kephas服务,但不是这种方式。如果您需要让原始应用程序处于控制状态,我会使用这种方法。

  • 让Kephas集成应用程序的DI容器。通过这种方式,Kephas服务可以访问原始应用程序的服务,但不能使用。如果你想现在或将来完全走Kephas方式,我会使用这种方法。

  • 完全使用Kephas提供的DI容器。如果你根本不使用DI或者有一个兼容的DI容器(比如MEF / System.Composition或Autofac - 对于Autofac而言,没有内置的支持,但我不应该这样做很难实现它。)

有很多事情要讨论,但这超出了这个问题的范围。

免责声明:我是Kephas框架背后的主要开发人员 - 可以从Wiki page获取更多信息。还要检查样本here