决策表的本机Java解决方案
|
我正在与一位尊敬的同事进行有趣的讨论,并希望提供一些补充信息...
我需要在我的应用程序中实现一些基本的决策表逻辑。我一直在使用OpenL Tablets,它代表Excel电子表格中的决策数据。我喜欢它,它易于设置和维护,并且具有较小的内存和处理空间。我可以轻松地添加新表,并且有些表的行数超过100,最多10个条件。此数据是静态的,很少更改。
我的同事不想在混合中引入第三方api,并且对绑定到Microsoft文件格式有所保留。
我明白他的观点,但是我能看到的通过Java实现决策表的唯一方法是编写一系列难看的if或case语句,这对于较小的表是好的,但是当我到达较大的表时将变得难以管理。
任何人在论点的两边都没有意见。如果有人对可以解决本机Java问题的模式有任何想法,我很想听听它。
非常感谢您的宝贵时间。
没有找到相关结果
已邀请:
3 个回复
撕吠
然后,您将迭代:
稍微复杂一点的示例,您可以更简洁地用javascript编写决策表,并可能使用Beanshell执行逻辑。在向您发布示例之前,我将不得不对此稍作抨击。 或者,如果您发布了示例,则有人可以提出一些简单的Scala例程来完成您想要的事情。 编辑: 因此,我做了一些研究和思考,对于Beanshell,您可以使用类似以下内容的方法:
而且somefile.bsh可能看起来像这样:
与重新编译Java源代码相比,这将为您提供更大的灵活性来更改规则。 您将不得不向这些解决方案中的任何一个添加另一个数组,以获得100个“行”源
粱委教
春驹晴陪