策略模式 :定义组算法。将每个算法封装起来,并且使它们之间可以互换
策略模式的组成 :抽象策略角色、具体策略角色、环境角色(客户端调用的)
封装变化概念 编程中使用接口而不是接口的实现。
package com.xjsx.strategy;
public interface Strategy {
public int calculate(int a ,int b);
}
package com.xjsx.strategy;
public class AddStrategy implements Strategy {
@Override
public int calculate(int a, int b) {
return a + b;
}
}
package com.xjsx.strategy;
public class SubtractStrategy implements Strategy {
@Override
public int calculate(int a, int b) {
return a - b;
}
}