Zpo-6-wyk-Slajd23: 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:
==Introduce Explaining Variable==
==Builder: uczestnicy==


[[Image:zpo-6-wyk-Slajd23.PNG|Introduce Explaining Variable]]
[[Image:zpo-6-wyk-Slajd23.PNG|Builder: uczestnicy]]




To przekształcenie jest dość proste i intuicyjne. Gdy wyrażenie jest długie, złożone i nieczytelne, można podzielić je na mniejsze fragmenty i ich wartości zapamiętać w zmiennych tymczasowych.
We wzorcu występuje bardzo wyraźny podział na warstwy różniące się zakresem odpowiedzialności: obiekt Director odpowiada za zarządzanie obiektami typu Builder i zlecanie im prac; nie zajmuje się on jednak bezpośrednią realizacją zadań. Zarządzanie tymi obiektami wymaga, aby znał ich zakres odpowiedzialności, a zatem powiązania między nim a obiektami są dość silne. Ponadto zna on algorytm i sposób reprezentacji docelowej struktury danych, i na tej podstawie zleca prace.


Refaktoryzacja rozpoczyna się od stworzenia sfinalizowanej zmiennej i przypisania do niej wartości wybranego fragmentu wyrażenia. Następnie fragment ten w oryginalnym wyrażeniu jest zastępowany odwołaniem do nowej zmiennej. Ponieważ zmienna ta z założenie jest wykorzystana tylko raz, dlatego efekty uboczne podczas tego przekształcenia nie występują.
Obiekty Builder potrafią wytwarzać produkty: każdy ConcreteBuilder jest związany z produktem, który umie wyprodukować, natomiast nie zajmują się ich kompozycją ani rodzajem struktury. W ten sposób obiekty te mogą być wykorzystane do tworzenia różnych struktur, w zależności od potrzeb.
 
Wszystkie obiekty typu Product posiadają wspólny interfejs, definiujący metody pozwalające łączyć te obiekty w struktury.




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

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

Builder: uczestnicy

Builder: uczestnicy


We wzorcu występuje bardzo wyraźny podział na warstwy różniące się zakresem odpowiedzialności: obiekt Director odpowiada za zarządzanie obiektami typu Builder i zlecanie im prac; nie zajmuje się on jednak bezpośrednią realizacją zadań. Zarządzanie tymi obiektami wymaga, aby znał ich zakres odpowiedzialności, a zatem powiązania między nim a obiektami są dość silne. Ponadto zna on algorytm i sposób reprezentacji docelowej struktury danych, i na tej podstawie zleca prace.

Obiekty Builder potrafią wytwarzać produkty: każdy ConcreteBuilder jest związany z produktem, który umie wyprodukować, natomiast nie zajmują się ich kompozycją ani rodzajem struktury. W ten sposób obiekty te mogą być wykorzystane do tworzenia różnych struktur, w zależności od potrzeb.

Wszystkie obiekty typu Product posiadają wspólny interfejs, definiujący metody pozwalające łączyć te obiekty w struktury.


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