Objektumelvű Programozás

Strategy minta

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.

Strategy minta diagramja
A Strategy minta struktúrája
Forrás: https://refactoring.guru/design-patterns/strategy

Egyszerű példa Java nyelven

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));
    }
}