有人知道凯法斯吗?

Does anyone know about Kephas?

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

当然可以增量完成,前提是应用程序使用版本高于 4.5 的 .NET 框架(事实上也支持 .NET Core/.NET Standard 和 Mono)。事实上,有组织将它用于生产,逐步集成它。还有一些架构问题需要深思熟虑,比如DI框架或数据持久层的集成,但基本上增量采用应该不会造成任何严重问题。

不要忘记,Kephas 框架的核心是通过依赖注入提供的应用程序服务。使用默认提供的那些,或者仅通过一个简单的属性来覆盖它们。您可以遵循更多方法:

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

  • 将原应用程序的DI容器集成Kephas的。在使用 ServiceStack 的 Funq DI 容器时,我个人使用了这个策略并且它起作用了。然而,通过这种方式,原始应用程序可以访问 Kephas 服务,而不是反过来。如果您需要让原始应用程序处于控制之中,我会使用这种方法。

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

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

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

免责声明:我是 Kephas Framework 背后的首席开发人员 - 更多信息可以从 Wiki page. Check also the samples here.

获得