我已经研究了一周的规则引擎,这个问题困扰了我很长一段时间。该视图将如下确认:
- 大多数规则引擎都是用Java编写的,而不是用C或C ++编写的
- 大多数公司更喜欢选择用Java编写的规则引擎,而不是C或C ++
- 规范。据我所知,JSR-94是Java规则引擎API的Java规范请求,并且没有关于C ++的规范。
- 社区活动。大多数人都对使用Java编写的产品感兴趣,例如ILog Jrules,Drools。
醇>
真诚地希望你的回答。
答案 0 :(得分:3)
并不是说它“不那么有用”;它只是你找到的唯一规范是JSR - 这是一个Java标准请求。在这一点之后,所有这些都是我个人经历中的猜测和反思。
从根本上说,业务规则系统需要随着时间的推移而适应。规范的原因是允许您在运行时放入一个规则系统而不是重新编译应用程序。 Java在这方面有一个历史 - 删除替换/实现代码是设计的一部分。 C ++代码并没有让人们认为它可以这样使用 - 他们倾向于将C ++应用程序视为“单个blob”,因此不适合放入额外的类来处理业务规则。
我亲自在Delphi(Object Pascal)中写了一个POS应用程序〜15年前。当我开始实现可自定义的业务规则时,我使用了PascalScript,它允许在运行时进行自定义。我从没想过系统的用户会使用编译器来构建他们的规则集,所以我使用了一种脚本语言,允许在运行时对应用程序进行重大的动态更改。
回答你的观点: