我有结构如下图查找重复的表情/参数
Parameter -> Condition -> Rule
让我们说,我需要建立一个Business rule
,Customer Age > 18
我有两个参数,Customer Age (P1) and 18(P2)
,其中P1 is Field Parameter (Ognl)
和P2 is constant Parameter
与value 18
。
所以我的Condition
现在是,Customer Age > 18
,所以我的Rule
。
问题陈述:避免用户创建重复的参数/条件和规则。
解决方案:Constant Parameters, Field Parameters etc
我可以检查数据库并比较是否已经存在。
现在的条件对我来说,
Customer Age > 18
和18 < Customer Age
在业务方面相同。
上述情况可能会更复杂。
(a + b) * (c + d) is same as (b + a) * (d + c)
我需要验证上述表达式。
第一种方法 - 加载来自DB的所有表达式(可以是10000的)并比较using Stack/Tree Structure
,这将真正杀死我的目标。
第二种方法 - 我想建立电力十足,让说hashcode generator
,或者我们可以说,一个int value
对每一个表情(考虑到运营商/支架也可以)。应该以这种方式生成此值,以验证上述表达式。
手段a + b
和b + a
应该产生相同的int value
和a - b
和b - a
应该产生不同。
正确的,我可以减少输出/迭代,但仍然我的应用程序使用相同的参数在100年的条件,规则... – 2014-12-02 09:01:52
我真的很喜欢你使用自定义散列函数的方法。问题是你必须确保散列值(例如字符串“客户年龄”)在使用时(而不是“客户年龄”等)完全相同。 – 2014-12-02 09:07:01
我担心名字,用户可以给任何参数下的内容,我想在哈希码计算中使用的条件,如参数值为18,可以命名为18或18或18等。 – 2014-12-02 09:14:12