动态决策表
动态决策表是新出,版本号到今年年初还没有了。我看了看文档和演示文稿样本,其效果是作为一种辅助通用决策表。它不是easy匹配的名称和发射。但假设只有一个或两个参数。不管名字怎么都找不到,这并不意味着。所以我觉得动态表主要是为了给那些谁拥有大量的情况下设计的输入参数。UserGuide演示样例中的表格,有6个输入,假设按普通决策表的话至少要写6个setXxx方法。假设很多其它,代码也就更繁琐了。
动态决策表把全部输入都放到一个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";
} }
在set方法中我做了例如以下推断。仅仅有当列名为“b”的时候才做赋值——这也就意味着a、c列事实上全然不起作用;get方法也做了一下推断,以区分return列、exception列的输出内容。
运行就可以看到结果。
不怕麻烦的话。动态决策表总是能够找决策表的一般写法,因此被视为一般决定表的一种特殊情况。
版权声明:本文博主原创文章,转载保留原文链接。