我需要在我的 Delphi 应用程序中自动化一些非常复杂的业务规则(保险)。迄今为止,我们已经使用脚本引擎在外部维护这些规则(许多 if/then/else 类型语句),但这变得难以维护且无法测试,并且很难与最终用户验证这些规则。
我见过的大多数正式规则引擎都不能与 Delphi 很好地集成(目前使用 D2007,但计划今年转向 64 位 XE2)。
是否有人知道任何产品或使用过任何我可以使用的有帮助的产品或技术?
最佳答案
脚本确实是处理可能发生变化的业务逻辑部分的好方法。
但是,我怀疑您遇到的问题是缺少正确的对象模型。有很多 IF 表明你有集中的逻辑,然后决策取决于很多因素,你们都必须检查这些因素,最终会变得一团糟。
这是直接使用数据而不是使用对象的症状。当您直接操作数据时,您必须了解所有适用的规则。
我始终主张以模型为中心的解决方案。通过正确设计的对象模型,职责可以分布在模型中的类之间,从而消除热点。这对应于 Single responsibility principle和Don't repeat yourself .
当然,挑战是对问题域进行建模,但这是我建议探索的路径。
关于delphi - Delphi 中的自动化逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9154740/