基于JAVA的设计模式之策略模式

  • 介绍

    策略模式即在程序运行时类的具体行为可以发生改变。

  • 类图

  

  • 代码
public interface Strategy {
    public int doOperation(int a,int b);
}

public class OperationAdd implements Strategy {
    public int doOperation(int a, int b) {
        return a+b;
    }
}

public class OperationSubstract implements Strategy {
    public int doOperation(int a, int b) {
        return a-b;
    }
}

public class OperationMultiply implements Strategy {
    public int doOperation(int a, int b) {
        return a*b;
    }
}

public class Context {
    private Strategy strategy;

    public void setStrategy(Strategy strategy) {
        this.strategy = strategy;
    }

    public int execute(int a,int b){
        return strategy.doOperation(a,b);
    }
}

public class Main {
    public static void main(String[] args) {
        Strategy strategy=new OperationAdd();
        Context context=new Context();
        context.setStrategy(strategy);
        int result=context.execute(10,30);
        System.out.println(result);
    }
}

猜你喜欢

转载自www.cnblogs.com/hbsdljz/p/11130702.html