- Introduction
Strategy pattern that is specific kind of behavior may change as the program runs.
- Class Diagram
- Code
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); } }