Wzorzec projektowy
Wzorce projektowe to wielokrotnego użytku rozwiązania stosowane podczas tworzenia oprogramowania. Służą jako szablony, których programiści mogą używać podczas tworzenia aplikacji. Nie są przypisane do konkretnych języków programowania, lecz stanowią dobre praktyki lub heurystyki, które można stosować w różnych środowiskach programistycznych.
Chociaż wzorce projektowe nie zależą od języka, często obejmują obiekty lub klasy. Dlatego zwykle kojarzy się je z programowaniem obiektowym. Poszczególne wzorce można podzielić na trzy różne kategorie: 1) wzorce konstrukcyjne, 2) wzorce strukturalne i 3) wzorce behawioralne.
1. Wzorce konstrukcyjne
Konstrukcyjne wzorce projektowe opisują sposoby tworzenia obiektów za pomocą metod odpowiednich w różnych sytuacjach. Na przykład wzorzec „Singleton” służy do utworzenia podstawowej klasy, która będzie miała tylko jedną instancję. Typowym przykładem jest zmienna globalna zdefiniowana w kodzie źródłowym programu. Wzorzec „Pula obiektów” służy do utworzenia klasy z „pulą” obiektów, które można pobierać w razie potrzeby zamiast tworzyć je ponownie. Jest to często wykorzystywane do buforowania.
2. Wzorce strukturalne
Strukturalne wzorce projektowe definiują relacje między obiektami. Na przykład wzorzec „Dane prywatne klasy” służy do ograniczenia dostępu do określonej klasy. Może to zapobiec niepożądanym modyfikacjom obiektu. Z kolei klasa „Dekorator” umożliwia dodawanie zachowań i stanów do obiektu w czasie działania programu. Daje to programistom elastyczność pozwalającą dodawać do obiektu dowolną liczbę klas, zależnie od potrzeb. Przykładem jest awatar w grze wideo, który w trakcie gry gromadzi broń, pancerz i przedmioty. Odpowiednio nazwana klasa „Dekorator” zapewniłaby dobre ramy dla tego procesu.
3. Wzorce behawioralne
Behawioralne wzorce projektowe opisują zachowanie obiektów, na przykład sposób, w jaki komunikują się one ze sobą. Jednym z przykładów jest wzorzec „Polecenie”, który opisuje obiekty wykonujące polecenia. Wzorzec „Pamiątka” rejestruje stan obiektu, aby można było przywrócić go do zapisanego stanu. Tych dwóch wzorców można używać razem do wykonywania w programie operacji Cofnij i Ponów.
Podsumowanie
Każda z trzech kategorii obejmuje kilka innych wzorców projektowych, których mogą używać programiści. Chociaż wzorce zapewniają pomocne szablony twórcom oprogramowania, czasami krytykuje się je za to, że są niepotrzebne lub niewystarczająco dopasowane do określonych aplikacji. Dlatego wzorce projektowe są przydatnymi narzędziami programistycznymi, ale nie trzeba stosować ich dokładnie, aby stworzyć dobrze zaprojektowany program.
Sprawdź swoją wiedzę