我正在开发一个Java 6应用程序,其中“提供者”应该能够为用户定义一个价格和服务的不同折扣。有许多不同的提供者。每一种服务都提供相同的服务,定价模式可以是不同的。
价格模型:-供应商应能够确定价格,例如每小时、每分钟、每一进程、.。-提供者应该能够轻松地添加条件来定义用户获得的折扣。例如:来自特定用户组的用户可获得10%的折扣,而使用该服务超过5次的用户可获得另一折扣。-它应该能够将条件与诸如“和”或“或”等逻辑操作联系起来。-软件制造商应确定可能的条件的数量。
问题是--使用规则引擎来解决这个规范是否有可能和有意义?提供者应该通过单击和选择来定义没有xml文件或类似的条件。我对规则引擎没有经验..。所以也许有人能帮我找出解决问题的最佳方法。
发布于 2010-04-23 19:54:12
首先,你需要知道所有可能的变量。你提到了number of times someone has used a service和group membership。如果变量的集合可以改变的话,可能比你想象的要多。
接下来是必须支持的规则的复杂程度。你可能不需要一个完整的规则引擎。通过简单的表达式计算,您可以走得很远,例如,请参阅https://eval.dev.java.net。
如果要进行表达式评估,那么只需将每个定价模型版本作为自己的字符串存储在数据库或其他地方。您可能需要点击规则,但通常书面对应的规则要清楚得多。
https://stackoverflow.com/questions/2699371
复制相似问题