我应该使用哪种框架/设计模式用于可能有1000次以上商业规则验证的应用程序?
我正在处理的系统类型包含许多允许用户输入的输入表单。每个输入表单都有不同的部分。
即。表格A有A / B / C / D部分。表格B有B / C / D部分
这些商业规则验证中的一些对于两种形式都是通用的,我正在研究重用规则的方法。
如何构建强大的业务规则验证框架?
答案 0 :(得分:14)
drools框架专门用于评估业务规则
spring框架允许使用groovy和jruby等动态语言编写bean。您可以轻松插入JavaScript
strategy design pattern似乎非常合适:将每条规则作为单独的策略实施并逐一运行。
可以使用类似的chain of responsibility模式:每个规则失败或成功并将控制传递给下一个规则
答案 1 :(得分:5)
实施业务规则的一个好方法是Specification pattern。它是策略,复合和解释器的组合,可以实现参数化和易于组合的规则。请务必查看Fowler和Evans的original paper (pdf),如果可以,请查看域驱动设计一书。