这类资料好少。根据当前项目自己瞎想了一个思路,仅供参考,欢迎讨论。
//Action层
class Action {
//当前可以运行的版本
Proxy version1_0 = new Proxy1_0();
Proxy version1_1 = new Proxy1_1();
void execute() {
//从客户端得到版本号及操作
String version = "1.1";
int opt = 0;
//根据版本号选择不同的代理类
switch (version) {
case "1.0":
version1_0.proxy(opt);
break;
case "1.1":
version1_1.proxy(opt);
break;
}
}
}
//版本代理抽象类
abstract class Proxy {
//实际处理业务的类
protected Service service;
//代理方法 这个方法不允许重写
public final void proxy(int opt) {
switch (opt) {
case 0:
service.a();
break;
case 1:
service.b();
break;
case 2:
service.c();
break;