如何使用决策表来帮助应用程序

时间:2020-03-06 14:33:31  来源:igfitidea点击:

我前段时间了解了决策树和决策表。我觉得决策表可以帮助条件式If-Then-Else语句。特别是,我觉得决策表没有副作用,例如,如果我们没有注意到还需要一个" else if"语句。

但是我不确定如何实现它。数组?数据库表?
如今,有人在他们的代码中使用决策表吗?

解决方案

我强烈建议"代码完成"第18章。

我们也可以查看这篇文章什么是表驱动方法

好吧,我做了我自己的研究:S

  • 这是IBM关于用于制定测试方案的决策表的内容
  • 这是由一家公司制作的决策表,然后将其转换为vb.net中的if-then-else语句。
  • 使用决策表的开源ruby工作流和bpm引擎。

因此,我仍在寻找。如果有人有很好的答案,请输入。

表驱动的方法使用数据结构而不是if-then语句来驱动程序逻辑。例如,如果我们要处理两种类型的记录(电视与电缆),则可以执行以下操作:

hash [tv] = processTvRecords

hash [cable] = processCableRecords

在某些语言(如Ruby或者Perl)中,此技术非常简单。在Java中,我们需要使用Reflection查找方法句柄。

如果我们想了解决策表,请访问http://fitnesse.org/上的Fitnesse测试框架。

到目前为止,我在决策表上看到的最好的实现是一个名为Prologa的应用程序,可以从http://www.econ.kuleuven.be/prologa下载。不幸的是,它仅在Windows中可用,并且在等待评估密钥时可能会有短暂的延迟。

该软件处理的是非二进制条件,可以折叠相似的规则,并实际上跟踪表当前涵盖的组合数,因此非常适合用于检查大型表的完整性。还可以优雅地处理嵌套表(其中一个表的结果可以是另一表的条件)。