Pakiet programów do zdalnego nauczania Programowania Orientowanego Obiektowo
Dzisiaj jest
Poniedziałek, 16 Lipiec 2018
Zarejestrowanych użytkowników: 4
Dostępnych pytań testowych: 102
HOME
Strona tytułowa pracy dyplomowej
NAUKA
Materiały dydaktyczne związane z OOP
TESTY
Sprawdzenie poziomu zdobytej wiedzy
ZASOBY
Literatura i zasoby sieciowe o OOP
ŹRÓDŁA
Zbiór projektów dydaktycznych z OOP
KONTO
Możliwość śledzenia własnych postępów
INFO



Wzorce czynnościowe

Wzorce czynnościowe są grupą wzroców, które do rozwiązywania określonych problemów wykorzystuje odpowiednią komunikację pomiędzy obiektami bądź też rozdzielają poszczególne zadania na wiele niezależnych podklas.

Do najczęściej używanych wzorców czynnościowych należy zaliczyć wzorce:

Wzorzec projektowy Iterator umożliwia sekwencyjny dostęp do elementów kontenerów (agregatów) bez znajomości ich struktury wewnętrznej. Bardzo często wzorzec ten znajduje zastosowanie w podstawowych bibliotekach klas dołączonych do języków programowania umożliwiając dostęp do różnych implementacji kontenerów (np. kolejki, zbiory, wektory itp.) za pomocą tego samego interfejsu udostępnionego przez obiekty iteratorów. Dzięki temu fragmenty systemów mogą być uniezależnione od różnych implementacji kontenerów.

Wzorzec Metoda Szablonowa umożliwia budowanie algorytmu składającego się z kroków, których implementacje zdefiniowane są w klasach potomnych. Dzięki temu możliwe jest definiowanie szkieletu ogólnego algorytmu w klasie bazowej, a implementacja poszczególnych kroków odbywa się w klasie potomnej.

Wzorzec Strategia umożliwia definiowanie części algorytmów w zewnętrznych klasach i łatwą ich wymianę w czasie działania programu. W swoim przeznaczeniu jest bardzo podobny do wzorca Metoda Szablonowa jednak o ile w tej drugiej kolejne części algorytmu są definiowane jako metody klas pochodnych, to w Strategii części algorytmów są definiowane w osobnych klasach konkretnych.

Wzorzec Stan umożliwia automatyczną wymianę implementacji operacji klasy w zależności od stanu wewnętrznego w jakim się ona znajduje. Stanowi bardzo wygodną alternatywę wobec klas, których implementacja posiada bardzo wiele instrukcji warunkowych testujących odpowiednią zmienną stanu i na podstawie jej wartości wykonujących odpowiednie operacje. Dzięki wzorcowi Stan wszystkie operacje związane z konkretnym stanem obiektu są umieszczone w zewnętrznej klasie, czego bardzo często klient korzystający z klasy nie jest (i nie musi) być świadomy.

Wzorzec Obserwator umożliwia zbudowanie wygodnego mechanizmu automatycznego powiadamiania się obiektów o ich wewnętrznych zmianach stanu. Koncepcja wzorca opiera się na istnieniu dwóch typów obiektów: obserwatorów i obserwowanych. Obiekty obserwatorów rejestrują w obiektach obserwowanych chęć uzyskiwania informacji i muszą zaimplementować metodę, która będzie wykonana z chwilą, gdy dojdzie do powiadomienia. Obserwowani zarządzają listą obiektów obserwatorów i dbają o to, by w odpowiednim momencie powiadamiać obiekty obserwatorów o zmianie swojego stanu.

Reprezentowanie poleceń w postaci osobnych klas umożliwia wzorzec projektowy Polecenie. Przede wszystkim znajduje on szczególnie zastosowanie w ogólnych bibliotekach, które udostępniają mechanizm reakcji na wystąpienie zdarzenia, bowiem taka reakcja może być dostarczona za pomocą obiektu klasy spełniającego określony interfejs. Równie częstym powodem sięgnięcia po wzorzec jest bardzo łatwa implementacja mechanizmu wycofywania zmian, buforowania, sporządzania dzienników zdarzeń czy nawet zapewnienia mechanizmu tranzakcyjności.

Wzorzec Pamiątka umożliwia zapamiętywanie bieżącego stanu i udostępnienia go na zewnątrz klasy (w celu późniejszego przywrócenia) bez naruszania zasady enkapsulacji, która miała by miejsce w momencie udostępniania stanu obiektu za pomocą metod publicznych (które z racji swej natury i zasad programowania orientowanego obiektowo powinny pozostawać prywatne lub chronione).

Adamik Łukasz, Politechnika Śląska w Gliwicach (AEiI) - 2010/11