1 spring中的委派模式
2 利用策略模式重构一段业务代码
1)业务场景
地图上点的聚合是根据不同图层,有不同的聚合算法。前台传递给后台的图层参数与后台对应的算法封装。
比如:图层一 参数 a 对应算法1
图层二 参数 b 对应算法2
public enum SuanfaEnum{
suanfa1(“a”,“suanfaMethod1”);
suanfa2(“b”,“suanfaMethod2”);
private String tuceng;
private String suanfaMethod;
SuanfaEnum( String tuceng,String suanfaMethod){
this.tuceng=tuceng;
this.suanfaMethod=suanfaMethod;
}
public SuanfaEnum getByTuceng(String tuceng){
//前台参数匹配对应算法
//如果对应算法存在返回枚举,不存在抛出异常
//好处是规避无效参数,
}
}
获取到 SuanfaEnum之后,使用反射调用方法执行逻辑,使用反射调用的逻辑省略,这里强调的是思想!请见谅!