Wzorce projektowe – ogólnie



Pobieranie 19.87 Kb.
Data08.05.2016
Rozmiar19.87 Kb.
Damian Stępień 4-06-2011

LAB 5

  1. Wzorce projektowe – ogólnie


Wzorzec projektowy w odniesieniu do inżynierii programowania, wzorcem projektowym należy określać pewien zbiór wytycznych dotyczących sposobu rozwiązania pewnego problemu. Jednakże trzeba mocno podkreślić, że jest to tylko pewien szablon, pewien sposób podejścia do konkretnego problemu, w żadnym przypadku nie mówi jak dany problem rozwiązać. Wzorzec projektowy jest to tylko ogólna technika wykorzystywana do rozwiązywania pewnej klasy powiązanych ze sobą problemów.

Wyróżnione do tej pory wzorce można podzielić na trzy grupy



  1. Konstrukcyjne

  2. Strukturalne

  3. Czynnościowe

Tabela 1 Klasyfikacja wzorców projektowych według Bandy Czworga

Lp.

a

b

c

1

Wytwórnia abstrakcji

Adapter obiektu

Łańcuch odpowiedzialności

2

Budowniczy

Most

Polecenie

3

Prototyp

Kompozyt

Iterator

4

Singleton

Dekorator

Mediator

5




Fasada

Memento

6




Waga piórkowa

Obserwator

7




Pośrednik

Stan

8







Strategia

9







Wizytator


  1. Opis wybranego wzorca


Wybrany przeze mnie do opisu i wykonania przykładowego programu wzorzec projektowy to Obserwator (Observer). Należy on do grupy wzorców czynnościowych i pozwala na informowanie zależnych obiektów o zmianie stanu pewnego innego obiektu. Mówiąc najprościej - mamy obiekty, które interesują się np. wartością pewnej składowej klasy jakiegoś innego obiektu i chciałyby być informowane, jeśli wartość ta ulegnie zmianie i właśnie w takiej sytuacji z pomocą przychodzi wzorzec Observer.

Tabela 2 Struktura wzorca Observer

Definiujemy dwóch uczestników, mianowicie musimy wydzielić obiekt obserwowany oraz obiekt obserwujący. Obiekt obserwowany zna swoich obserwatorów oraz zapewnia interfejs dołączania i odłączania obserwatorów. Natomiast obserwator definiuje interfejs uaktualnia dla obiektów, które powinny być powiadamiane o zmianach, jakie zaszły w obiekcie obserwowanym.

Relacja między nimi jest jeden do wielu. Jeden obiekt może obserwować jednocześnie kilka obiektów obserwujących, (co tez pokazane jest w załączonym przykładowym programie). Gdy obiekt obserwowany zmienia stan, wszystkie obiekty będące na liście obserwatora (są na niej wszyscy aktualni obserwatorzy) są powiadamiane o tej zmianie.

Obiekt powinien być w stanie powiadamiać inne obiekty nie przyjmując żadnych założeń, co do tego, co te obiekty reprezentują (eliminacja ścisłego powiązania obiektów).


  1. Przykładowy program wykorzystujący wybrany wzorzec


Dołączony przykładowy program ma zdefiniowane dwie klasy – mecz (obiekt obserwowany) i widz (obiekt obserwujący). Elementem obserwowanym jest składowa klasy mecz – wynik meczu. W oknie głównym można określić, którzy widzowie trafią na listę obserwatora i będą śledzić wynik.




©absta.pl 2019
wyślij wiadomość

    Strona główna