A Strategy minta lehetővé teszi egy algoritmus család definícióját, a kliensek közötti váltást és az algoritmusok egymással felcserélhető alkalmazását.
interface Strategy {
int doOperation(int num1, int num2);
}
class AddStrategy implements Strategy {
public int doOperation(int num1, int num2) {
return num1 + num2;
}
}
class Context {
private Strategy strategy;
public Context(Strategy strategy) {
this.strategy = strategy;
}
public int executeStrategy(int a, int b) {
return strategy.doOperation(a, b);
}
}
class Main {
public static void main(String[] args) {
Context context = new Context(new AddStrategy());
System.out.println("Eredmény: " + context.executeStrategy(5, 3));
}
}