Strategy

UML diagram návrhového vzoru Strategy

Návrhový vzor Strategy zapouzdřuje nějaký druh algoritmů nebo objektů, které se mají měnit, tak, aby byly pro klienta zaměnitelné.

Implementace strategy v jazyce JAVA

V ukázce je bytost která má možnost promluvit, bude mluvit rozdílně podle toho jestli je Člověk nebo Pes.

public class Main {

    public static void main(String[] args) {
        Bytost b = new Bytost(new Clovek());
        b.promluv();

        Bytost p = new Bytost(new Pes());
        p.promluv();
    }

}
interface Strategy{
    void promluv();
}
class Clovek implements Strategy{

    public void promluv() {
        System.out.println("člověk promluvil");
    }

}
class Pes implements Strategy{
    
    public void promluv(){
        System.out.println("pes zaštěkal");
    }
    
}
class Bytost{
    private Strategy strategy;

    Bytost(Strategy st){
        this.strategy = st;
    }

    public void promluv() {
        strategy.promluv();
    }
}

Související články

Externí odkazy

Média použitá na této stránce

W3sDesign Strategy Design Pattern UML.jpg
Autor: Vanderjoe, Licence: CC BY-SA 4.0
Strategy design pattern: Sample UML class and sequence diagram.