Dawid Ireno

Dawid Ireno Software Architect

Temat: Strategy (Strategia) [Structural, Behavioral]

Wzorzec strategii postuluje rozdzielenie algorytmu od pozostałej części kodu. Dzięki temu możemy używać różne algorytmy do wykonania wybranego zadania i przełączać się między nimi w trakcie działania programu. Przykładem może być tu zmiana rozmiaru obrazu, na którą istnieje masa algorytmów różniących się przede wszystkim złożonością i jakością wynikowej grafiki. Strategia jest przykładem rozszerzenia wzorca mostu. Innym przykładem możliwego zastosowania może być np. generowanie liczb rzeczywistych z zakresu [0..1]. Algorytmy generatorów liczb pseudolosowych, tak jak algorytmy zmiany rozmiaru obrazu, charakteryzują się złożonością obliczeniową i jakością generowanych wyników, tu ciągu liczb pseudolosowych.