策略(Strategy)

来源:互联网 发布:js中this的用法 编辑:程序博客网 时间:2024/05/29 11:48


算法可替换


public class StrategyDemo {    public static void main(String[] args) {        int a = 1, b = 2;        StrategyDemo strategyDemo = new StrategyDemo();        strategyDemo.calculate(a, b, new AddStrategy());        strategyDemo.calculate(a, b, new ReduceStrategy());    }    public void calculate(int a, int b, IStrategy strategy) {        int result = a + b + strategy.calculate();    }}interface IStrategy {    int calculate();}class AddStrategy implements IStrategy {    @Override    public int calculate() {        //一大堆代码        return 0;    }}class ReduceStrategy implements IStrategy {    @Override    public int calculate() {        //一大堆代码        return 1;    }}


0 0