我的情况是必须在客户端和服务器上应用业务规则。例如,假设应用程序正在创建帐单(或发票)。现在有很多税收规则适用于该法案。
从可用性角度来看,应用所有这些规则非常重要,因为用户正在向帐单中添加费用或项目,并在保存帐单之前将其显示给他。
因此必须在客户端上应用税收计算规则。
同时,用户应该能够更改税率并能够对尚未最终确定的所有账单应用新税,这意味着必须在服务器端应用相同的规则集。
我遇到了两个问题 -
1)尽可能我不想重复逻辑。这种逻辑非常复杂,随着时间的推移,这两种情况会发生分歧并导致无休止的维护痛苦。
2)我可以考虑在服务器上执行所有操作并执行ajax调用以应用规则并将结果数据作为JSON。随着网络延迟的推进,当涉及大型对象和许多交易时,这可能会被杀死(想想用户创建或修改大额账单 - 超过1000个项目和规则适用于整个项目集而不是单个项目项)。
我的问题 - a)是否存在可用于此场景(设计/建筑)的模式
b)是否有任何工具和技术可以在客户端和服务器中使用一个代码而无需进行网络调用(在我的情况下是Java和Javascript)