我前段时间了解了决策树和决策表。我觉得决策表可以帮助处理有条件的If-Then-Else语句。特别是,我觉得决策表没有任何副作用,例如,如果你没有注意到你还需要一个“其他如果”的话。言。

但我不确定如何实现它。阵列?数据库表? 有人甚至在他们的代码中使用决策表吗?

有帮助吗?

解决方案

我强烈推荐代码完成的第18章。

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

其他提示

嗯,我做了自己的研究:S

  1. 这是关于决策表的来自IBM的内容制作测试场景
  2. 这是来自制作决策表然后翻译的公司到vb.net中的if-then-else语句。
  3. 使用决策表的开源ruby工作流程和bpm引擎
  4. 所以,我还在寻找。如果有人有一些好的答案,请输入。

多平台,CCIDE-0.5.0-6(或更高版本)可在SourceForge和Github上获得。

请参阅 http://twysf.users.sourceforge.net/ 的网页

表驱动方法使用数据结构而不是if-then语句来驱动程序逻辑。例如,如果您正在处理两种类型的记录(电视与电缆),您可以这样做:

hash [tv] = processTvRecords

hash [cable] = processCableRecords

在某些语言中,如Ruby或Perl,这种技术很简单。在Java中,您需要使用Reflection来查找方法句柄。

如果您想了解决策表,请参阅 http://fitnesse.org/ 上的Fitnesse测试框架。

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top