4

需要有一个计算器来计算我们的发票,该计算器将在 Web UI 和后端中使用。这需要 Javascript 和 C# 中相同逻辑的两个实现,真正的问题是在更改规则时保持这两个逻辑同步。

目前,我们在 JS 端所做的是,我们通过 ajax 调用将所有重新计算的请求发送到后端,以便使用 C# 中实现的计算器。这让我们的服务器很忙,我不喜欢这个主意。我认为应该有一个规则引擎或其他东西,我们可以利用它来将计算逻辑保持在 C# 或 JS 以外的语言中,并在前端和后端使用/解释它。

有没有其他人遇到过同样的问题?任何想法将不胜感激。

4

3 回答 3

1

您可以尝试使用Haxe来实现您的规则引擎,然后将其交叉编译为 JavaScript 和 C#。这将为您提供一个共同的实现基础,然后 - 在编译期间 - 您将形成两种不同的语言输出。

免责声明:我还没有使用 Haxe,所以我无法证明它是否适合您的情况,但它支持两种语言作为目标。

于 2013-08-30T01:35:46.287 回答
1

遇到同样的问题并通过在javascript中实现逻辑然后在服务器上使用https://jurassic.codeplex.com/运行它来解决它。效果很好。

于 2013-08-31T08:39:53.100 回答
0

您可以使用任何决策即服务平台。它们通常将决策(具有关系和依赖关系的一系列连接的业务规则)公开为 REST API 服务。因此,您可以简单地与服务交互以执行和管理规则。

例如,这里是一个示例,您如何通过在 JavaScript 中传递输入参数值与决策服务进行通信以执行。

于 2015-05-20T06:15:40.510 回答