Wzorzec projektowy strategia należy do wzorców czynnościowych. Jego implementacja umożliwia wybranie klasy dziedziczącej po danym interfejsie, która to odpowiada za sposób realizacji zadania lub zadań tegoż obiektu. Wszystkie klasy dziedziczące realizują to samo zadanie ale w odmienny sposób.
Przykład diagramu UML wzorca projektowego strategia
Na poniższym diagramie UML interfejs iNumeric jest dziedziczony przez klasy Numeric i Alphabetic, które odpowiedzialne są za wypisanie listy numerowanej. Klasa Numeric używa jako numeracji cyfr arabskich natomiast klasa Alphabetic liter alfabetu łacińskiego. Klasa główna NumericList zawiera pole list, które przechowuje dodane dane tekstowe listy numerowanej. Klasa ta agreguje również interfejs iNumeric w polu system. Pole to jest ustawiane wewnątrz metody setSystem.
Rys. 1
Przykładowy diagram UML dla wzorca projektowego strategia