Przykładowe wzorce do zastosowania to zbiór 8 wzorców. Wiele z nich ma podobne nazwy i pełni podobne funkcje jak wzorce przemysłowe.* Niektóre z tych wzorców są wykorzystywane przez inne wzorce o większej granulacji i są nazywane mikrowzorcami.
(dwa parametry, jedna zależność parametrów, mikrowzorzec)
Wzorzec implementacji to podstawowy, niezależny wzorzec, którego implementacja nie korzysta z żadnych innych wzorców. Jest to bardzo prosty wzorzec, który gwarantuje, że między argumentem implementacji a argumentem interfejsu występuje relacja implementacyjna UML.
(dwa parametry, jedna zależność parametrów, wykorzystuje jeden wzorzec)
Wzorzec interfejsu wykorzystywany jest przez kilka innych przykładowych wzorców i sam też korzysta w swojej implementacji z innego wzorca. Wzorzec implementacji to bardzo prosty wzorzec (nazywany też mikrowzorcem), który jest wykorzystywany przez wzorzec interfejsu w celu zagwarantowania, że argument implementacji implementuje argumenty interfejsu. Wzorzec interfejsu ma dwa parametry - jeden reprezentuje interfejs, a drugi implementację. Zawiera on przykład podstawowego odwzorowania delegatów z wykorzystaniem zastosowań definicji wzorca i delegatów zależności wzorca. Jest to bardzo podstawowy, a mimo to funkcjonalny wzorzec, do którego nawiązania występują też w innych częściach dokumentacji wzorców. Wzorzec ten pokazuje też połączenie użycia delegatów wzorca i niestandardowego kodu w celu zaimplementowania metod aktualizacji zależności wzorca. Wykorzystywany jest tu wzorzec implementacji w celu zagwarantowania relacji implementacji, a następnie używany jest niestandardowy kod metody aktualizującej, który gwarantuje, że implementacja implementuje wszystkie operacje zdefiniowane w argumentach interfejsu.
(dwa parametry, jedna zależność parametrów, mikrowzorzec)
Wzorzec listy słów kluczowych to podstawowy, niezależny wzorzec, w którego implementacji nie wykorzystuje się żadnych innych wzorców. Demonstruje on sposób użycia literału łańcuchowego UML oraz abstrakcyjnego metatypu UML w charakterze typu parametru. Ten wzorzec zawiera też funkcjonalność, która pozwala prawidłowo zagwarantować zachowanie semantyki wzorca w sytuacji, gdy argumenty są niepowiązane, a instancje wzorca niezastosowane. Instancje wzorca listy słów kluczowych można tworzyć z poziomu widoku Eksplorator wzorców, ale wzorzec ten najlepiej nadaje się do wykorzystania w innych wzorcach za pośrednictwem mechanizmu delegowania wzorców.
(sześć parametrów, pięć zależności parametrów, mikrowzorzec)
Wzorzec skierowanego powiązania to kolejny niezależny, podstawowy wzorzec, a właściwie mikrowzorzec, wykorzystywany przez inne wzorce o większej granulacji. Wzorzec skierowanego powiązania ma dwa podstawowe parametry, które ustawiają kontekst skierowanego powiązania. Ma on też pięć innych, peryferyjnych parametrów, które pomagają nadać powiązaniu właściwy kształt, konfigurując jego typ, nazwy ról oraz krotności. Wzorzec ten jest wykorzystywany przez przykładowy wzorzec delegacji i stanowi przykład wzorca zawierającego wiele parametrów rzadko stosowanych typów. W definicji tego wzorca używane są literały łańcuchowe, liczby całkowite oraz wyliczenia wzorców. Kod wzorca występujący w tym przykładzie i obsługujący te literały i wyliczenia stanowi nieocenioną pomoc dla autorów wzorców, którzy chcą się nauczyć, jak tworzyć wzorce z parametrami podobnych typów.
(dwa parametry, jedna zależność parametrów, wykorzystuje trzy wzorce)
Wzorzec delegacji ma dwa parametry: jeden z nich reprezentuje we wzorcu delegującego, a drugi delegata. Delegujący oddelegowuje operacje zdefiniowane w interfejsie delegowania i zaimplementowane przez delegującego do instancji typu delegata. Ten wzorzec demonstruje użycie filtrów odwzorowań delegatów w celu dostosowania nazw słów kluczowych przypisanych do instancji wykorzystujących wzorzec listy słów kluczowych. Dostosowanie nazwy nie jest konieczne do dostarczenia użytecznej implementacji wzorca delegacji, ale zostało uwzględnione w przykładzie po to, żeby zademonstrować użycie filtrów odwzorowań delegatów.
(trzy parametry, dwie zależności parametrów, wykorzystuje dwa wzorce)
Wzorzec strategii oparty jest na powszechnie znanym wzorcu strategii. Wykorzystuje on przykładowe wzorce listy słów kluczowych oraz interfejsu i zawiera przykład odwzorowania delegatów parametrów. Ma on trzy parametry: jeden reprezentuje interfejs strategii, drugi konkretną strategię, a trzeci kontekst strategii. Aby zademonstrować wykorzystanie wzorca listy słów kluczowych, w opisywanym wzorcu sprawdzane jest, czy w argumencie parametru interfejsu strategii znajduje się słowo kluczowe <<Strategy>>. Wzorzec interfejsu jest wykorzystywany po to, aby zagwarantować, że interfejs strategii jest zaimplementowany przez powiązane argumenty parametru określającego konkretną strategię.
(brak parametrów)
Wzorzec typu singleton oparty jest na powszechnie znanym wzorcu tego typu. Stanowi on przykład wzorca bezparametrowego. Ma on parametr niejawny, który można utożsamiać z instancją samego wzorca. Ten wzorzec reprezentuje swoje instancje jako klasy, zamiast stosować bardziej typową reprezentację ukazującą współpracę. Funkcjonalne zastosowanie tego wzorca polega na przeciąganiu go z widoku Eksplorator wzorców do klasy, co do której chcemy mieć pewność, że będzie miała tylko jedną instancję. Przeciągnięcie tego wzorca na powierzchnię diagramu (do pakietu) powoduje utworzenie nowej pojedynczej instancji, a tym samym utworzenie nowej klasy reprezentującej tę instancję.
(pięć parametrów, pięć zależności parametrów, wykorzystuje jeden wzorzec)
Wzorzec fabryki abstrakcyjnej oparty jest na powszechnie znanym wzorcu tego typu. Wykorzystuje on wzorzec interfejsu i w związku z tym demonstruje delegatów zależności w trakcie delegowania zachowania do wzorca interfejsu. Jest to przekształcona implementacja wzorca fabryki abstrakcyjnej, w tym sensie, że wszystkie konkretne produkty implementują wszystkie powiązane abstrakcyjne interfejsy produktów. Jest to przykład użycia zależności parametrów do utrzymywania semantyki wzorca w miarę, jak są z nim wiązane kolejne argumenty. Podobnie jak wzorzec typu singleton nie reprezentuje on instancji wzorca z użyciem współpracy, a używa w tym celu pakietów. Instancje tego wzorca są pakietami.
* Wzorce projektowe: Elementy oprogramowania obiektowego wielokrotnego użytku, Gamma, Helm, Johnson i Vlissides (WNT, 2005) copyright (c) 2005 by Wydawnictwa Naukowo-Techniczne. Wszelkie prawa zastrzeżone.