1700472197
1700472198
代码清单25-11 抽象元素
1700472199
1700472200
public abstract class Element{
1700472201
1700472202
//定义业务逻辑
1700472203
1700472204
public abstract void doSomething();
1700472205
1700472206
//允许谁来访问
1700472207
1700472208
public abstract void accept(IVisitor visitor);
1700472209
1700472210
}
1700472211
1700472212
抽象元素有两类方法:一是本身的业务逻辑,也就是元素作为一个业务处理单元必须完成的职责;另外一个是允许哪一个访问者来访问。我们来看具体元素,如代码清单25-12所示。
1700472213
1700472214
代码清单25-12 具体元素
1700472215
1700472216
public class ConcreteElement1 extends Element{
1700472217
1700472218
//完善业务逻辑
1700472219
1700472220
public void doSomething(){
1700472221
1700472222
//业务处理
1700472223
1700472224
}
1700472225
1700472226
//允许那个访问者访问
1700472227
1700472228
public void accept(IVisitor visitor){
1700472229
1700472230
visitor.visit(this);
1700472231
1700472232
}
1700472233
1700472234
}
1700472235
1700472236
public class ConcreteElement2 extends Element{
1700472237
1700472238
//完善业务逻辑
1700472239
1700472240
public void doSomething(){
1700472241
1700472242
//业务处理
1700472243
1700472244
}
1700472245
1700472246
//允许那个访问者访问
[
上一页 ]
[ :1.700472197e+09 ]
[
下一页 ]