7

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

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

4

5 回答 5

1

我强烈推荐Code Complete的第 18 章。

您还可以查看这篇文章什么是表驱动方法

于 2008-09-22T19:30:06.920 回答
1

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

  1. 这是IBM关于用于制作测试场景的决策表的内容
  2. 这来自一家制作决策表的公司,然后将这些决策表转换为 vb.net 中的 if-then-else 语句。
  3. 使用决策表的开源 ruby​​ 工作流和 bpm 引擎。

所以,我还在找。如果有人有好的答案,请输入。

于 2008-09-22T23:06:44.853 回答
1

SourceForge 和 Github 上提供了多平台 CCIDE-0.5.0-6(或更高版本)。

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

于 2012-07-02T17:59:39.773 回答
0

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

哈希[tv] = processTvRecords

哈希[电缆] = processCableRecords

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

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

于 2008-09-23T00:53:04.303 回答
0

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

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

于 2010-07-15T06:04:07.850 回答