我实现了一些规则,例如;
- 检查 ID。 如果是在方便的日期, 然后添加相关组,例如 AAAA
- 在操作规则中,检查项目是否在相关组中 添加消息或删除消息
但我认为规则引擎使用一些表来添加新组并在操作规则中检查该组比添加一些值不方便。
正如我在这里看到的,我需要使用一些查找表。但我的想法是,我不想使用数据库来实现这些条件。
有没有办法将决策表用作查找表,或者我应该使用数据库来实现该实现?或者有什么方法可以解决这个问题吗?
感谢您的帮助。
说这些属于数据库,这些不是业务规则。这是我不久前写的一篇关于这个主题的文章。
当然,在某些情况下并不总是很清楚,但您描述的是系统/参考数据,而不是业务规则。
因为使用决策表作为查找表(或参考数据)经常是一种被滥用的技术,所以它是一种反模式。 但是,在某些情况下需要:
- 当业务用户需要在一个位置(决策中心)维护规则和引用数据时。
- 如果要在一个可部署项目(规则应用)中管理规则和引用数据。
该技术可以与那些编号为几百行的数据一起使用,并且这些数据的生命周期与决策的其他部分没有显着差异。
这里有一篇写得很好的论文,描述了这种方法和其他管理参考数据的方法的所有细微差别。