Wzorce projektowe: Strategia

Strategia jest czynnościowym wzorcem obiektowym. Wzorzec składa się z wielu związanych ze sobą algorytmów ukrytych wewnątrz klasy sterującej zwanej Context. Program klienta może wybrać jeden z tych algorytmów lub najodpowiedniejszy z nich. Intencją wzorca jest wymienność algorytmów w trakcie działania programu oraz ich hermetyzacja. Bardzo łatwo dodaje się nowe algorytmy, poprzez utworzenie nowej klasy implementującej dany interfejs. Conext może w danej chwili mieć wybraną tylko jedną strategię. Kiedy to może mieć zastosowanie: naliczanie podatku w sklepie zależnie od kraju zamieszkania kupującego, Kompresowanie plików z wykorzystaniem różnych algorymtów, Zapisywanie plików w różnych formatach. […]