动态决策表把所有输入都放到一个set方法里(同普通决策表一样,凡不是以?结尾的都认为是输入);所有输出(以?结尾的)放到一个get方法里,举个例子:
ddt:ddt.zjc.com.DynamicTable | ||||
a | b | c | return? | exception? |
1 | 3 | 9 | false | No Exception |
0 | 1 | 8 | false | No Exception |
2 | 6 | 1 | false | No Exception |
ddt:是必须的,动态决策表的标志,对应代码中:
set方法就规定成了固定格式——两个参数,第一个参数是String类型,表示列名称,第二个参数是值
get方法也是固定格式——一个参数:列名称
输入方法统一成一个,输出方法也统一成一个,那么如果需要区分,只能我们自己在代码里做判断了。如以下示例:
package ddt.zjc.com; public class DynamicTable { private int num; public void set(String name,int a){ if(name.equals("b")){ this.num=a; } } public String get(String s){ if(s.equals("exception")){ return "No Exception"; }else { if (num==1) return "true"; else return "false"; } }
不怕麻烦的话,动态决策表总是可以找到一个普通决策表的写法的,所以算是普通决策表的一种特例。
原文:http://blog.csdn.net/zjc/article/details/39405175