题
我在努力构建一个基于规则的系统,用于解释数据。然而,我具有的问题决定的一种方式建造的逻辑,用于储存和解释规则。
目前,有一个数据库结构,该结构相当复杂,但会处理的所有方面的储存的规则的数据。这个想法是,该系统将能够模仿的方式MS Outlook允许用户增加的规则。
我的问题如下:
- 什么图案我应该用于储存这些规则内部的对象?
- 我应该使用eval()或适当的对象的取向执行规则?
例和规则可以是:
狗 必须有 领区 公园
其中每个元素(狗,必须具有领,在区域、公园)是一个独立的逻辑来进行解释。
任何一般性意见对上述问题是非常感谢!
其他提示
也许这回答太琐碎/显而易见你,但我只是想在我会怎样解决这样的事情在我的前的现有项目,该项目是一个Zend框架的应用程序。我想到的过滤器和validatorChains苏的用途。我假定你有一个finit数量的可能输入的对象,finit些条件/限制和finit数量的行动。在这种情况下你会第一个实例对象,并运行它对一个链条件(验证),如果所有条件都满足你跑的对象对actionChain.在这里我可能会有实施某种行动优先的系统,因为有些行动必须进行之前,其他人。像'发送通知",然后"删除'的对象的问题。因此,在埃孚我将建立一个自定义的验证程序,为每一个条件/限制。我不相信Outlook系统是非常聪明的意思,我不认为验证程序是非常普通的。
在该数据库有可能是一个表的实际规则,一个针对的条件和一个行动。然后可能有两个"多对多"的表格链接的规则与所有需要的条件和行动。
不隶属于 StackOverflow