1700483150
1700483151
}
1700483152
1700483153
//每个事件都要对事件进行声明式消费
1700483154
1700483155
public abstract void exec(ProductEvent event);
1700483156
1700483157
}
1700483158
1700483159
很简单,我们定义了一个Vector变量来存储处理者的处理能力,然后通过构造函数约束子类必须定义一个自己的处理能力。在代码中,我们用到了事件处理类型枚举,如代码清单36-9所示。
1700483160
1700483161
代码清单36-9 事件处理枚举
1700483162
1700483163
public enum EventCustomType{
1700483164
1700483165
//新建立事件
1700483166
1700483167
NEW(1),
1700483168
1700483169
//删除事件
1700483170
1700483171
DEL(2),
1700483172
1700483173
//修改事件
1700483174
1700483175
EDIT(3),
1700483176
1700483177
//克隆事件
1700483178
1700483179
CLONE(4);
1700483180
1700483181
private int value=0;
1700483182
1700483183
private EventCustomType(int_value){
1700483184
1700483185
this.value=_value;
1700483186
1700483187
}
1700483188
1700483189
public int getValue(){
1700483190
1700483191
return value;
1700483192
1700483193
}
1700483194
1700483195
}
1700483196
1700483197
我们在系统中定义了3个事件处理者,分别是乞丐、平民和贵族。乞丐只能获得别人遗弃的物品,平民消费自己生产的东西,自给自足,而贵族则可以获得精修的产品或者是绿色产品(也就是我们这里的克隆产品,不用自己劳动获得的产品)。我们先看乞丐的源代码,如代码清单36-10所示。
1700483198
1700483199
代码清单36-10 乞丐
[
上一页 ]
[ :1.70048315e+09 ]
[
下一页 ]