Strategy Design Pattern

Strategia. Wzorzec projektowy, którego zadaniem jest zdefiniowanie w oddzielnych klasach grup algorytmów z danej rodziny. Taka konstrukcja kodu powoduje możliwość wymiennego użycia tych algorytmów (również w trakcie działania aplikacji), ułatwia rozszerzanie funkcjonalności, ogranicza użycie instrukcji warunkowych, ułatwia testowanie poszczególnych rozwiązań algorytmów. Jedną z wad jest zwiększenie ilości implementowanych klas.