Zpo-6-wyk-Slajd22: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Bwalter (dyskusja | edycje)
Nie podano opisu zmian
 
Bwalter (dyskusja | edycje)
Nie podano opisu zmian
 
Linia 1: Linia 1:
==Przykład==
==Builder: struktura==


[[Image:zpo-6-wyk-Slajd22.PNG|Przykład]]
[[Image:zpo-6-wyk-Slajd22.PNG|Builder: struktura]]




Przykładem błędnego przeprowadzenia takiej zmiany jest następujący fragment kodu. Dotyczy on obiektu StringTokenizer, dzielącego napisy na wyrazy i zwracającego je w postaci pojedynczych tokenów.
Struktura tego wzorca bardzo przypomina podział ról na budowie. Klient odpowiada za zlecenie wykonania prac. Odbiorcą jego zlecenia jest kierownik budowy (Director), który posiada projekt budowlany (algorytm realizacji struktury). Kierownik zna i dysponuje specjalistami od różnych zadań (reprezentowanymi przez klasy implementujące interfejs Builder). Każdy z fachowców, będący swego rodzaju wzorcem Factory, potrafi wykonywać produkty jednego rodzaju i przekazywać je kierownikowi. On, na podstawie projektu, składa elementy stworzone przez fachowców i konstruuje strukturę, a następnie przekazuje ją klientowi.
 
Zamiast zapamiętywania wartości metody ''st'' ''.'' ''next'' ''()'' po przekształceniu metoda ta jest wywoływana w każdym miejscu, w których dotychczas następowało odwołanie do zmiennej. Jednak takie przekształcenie wprowadza błąd do programu, ponieważ metoda ''st'' ''.'' ''next'' ''(),'' która zmienia stan obiektu StringTokenizer, zostanie obecnie wywołana wielokrotnie, co wpłynie na zmianę zachowania programu. Dlatego należy zwrócić szczególną uwagę na problem efektów ubocznych refaktoryzacji.




[[zpo-6-wyk-Slajd21 | << Poprzedni slajd]] | [[zpo-6-wyk-toc|Spis treści ]] | [[zpo-6-wyk-Slajd23 | Następny slajd >>]]
[[zpo-6-wyk-Slajd21 | << Poprzedni slajd]] | [[zpo-6-wyk-toc|Spis treści ]] | [[zpo-6-wyk-Slajd23 | Następny slajd >>]]

Aktualna wersja na dzień 11:10, 17 paź 2006

Builder: struktura

Builder: struktura


Struktura tego wzorca bardzo przypomina podział ról na budowie. Klient odpowiada za zlecenie wykonania prac. Odbiorcą jego zlecenia jest kierownik budowy (Director), który posiada projekt budowlany (algorytm realizacji struktury). Kierownik zna i dysponuje specjalistami od różnych zadań (reprezentowanymi przez klasy implementujące interfejs Builder). Każdy z fachowców, będący swego rodzaju wzorcem Factory, potrafi wykonywać produkty jednego rodzaju i przekazywać je kierownikowi. On, na podstawie projektu, składa elementy stworzone przez fachowców i konstruuje strukturę, a następnie przekazuje ją klientowi.


<< Poprzedni slajd | Spis treści | Następny slajd >>