我们的发票需要有一个计算器,可以在网页用户界面和后端使用。这需要在Javascript和C#中实现相同逻辑的两个实现,真正的问题是在更改规则时保持这两个逻辑同步。
目前,我们在JS方面做的是通过ajax调用将所有重新计算请求发送到后端,以便使用C#中实现的计算器。这使我们的服务器很忙,我不喜欢这个想法。我认为应该有一个规则引擎或某个地方,我们可以利用它来将计算逻辑保持在C#或JS以外的语言中,并在前端和后端使用/解释它。
还有其他人遇到过同样的问题吗?任何想法都将不胜感激。
答案 0 :(得分:1)
您可以尝试使用Haxe来实现规则引擎,然后将其交叉编译为JavaScript和C#。这将为您提供一个共同的实现基础,然后 - 在编译期间 - 将形成两种不同的语言输出。
免责声明:我还没有使用过Haxe所以我无法证明它是否适用于您的情况,但它支持两种语言作为目标。
答案 1 :(得分:1)
面对同样的问题并通过在javascript中实现逻辑然后在服务器上使用https://jurassic.codeplex.com/运行它来解决它。很好地工作。
答案 2 :(得分:0)
您可以使用任何决策即服务平台。它们通常将决策(具有关系和依赖关系的一组连接的业务规则)作为REST API服务公开。因此,您只需与服务进行交互即可执行和管理规则。
例如here is a sample如何通过在JavaScript中传递输入参数值来与决策服务进行通信以便执行。