Zpo-6-wyk-Slajd40: 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(1)==
==State/Strategy: konsekwencje==


[[Image:zpo-6-wyk-Slajd40.PNG|Przykład(1)]]
[[Image:zpo-6-wyk-Slajd40.PNG|State/Strategy: konsekwencje]]




Po wykonaniu przekształcenia w klasie zaszły trzy zmiany: pojawiły się metody ''dodajWyklad'' ''()'' i ''usunWyklad'' ''(),'' które służą do kontrolowanego modyfikowania kolekcji wykładów, natomiast metoda ''wyklady'' ''()'' zwraca niemodyfikowalną wersję tej kolekcji.
Zastosowanie wzorca pozwala modyfikować zachowanie obiektów tak jakby zmieniała się ich klasa – i to jest najważniejszy cel i konsekwencja tego wzorca. Istnieje natomiast grupa efektów pośrednich, ale o dość interesujących właściwościach. Hermetyzacja stanu w postaci niezależnych klas pozwala na jednorazową, niepodzielną zmianę tego stanu, bez wprowadzania stanów niespójnych czy nieoznaczonych. Jeżeli obiekty State nie przechowują informacji (w większości przypadków może ona być zapamiętana w obiekcie Context, ponieważ ona nie ulega zmianie), a jedynie definiują zachowanie, wówczas – paradoksalnie – obiekty te, reprezentujące stan, są bezstanowe i mogą być współdzielone między wiele obiektów Context.
 
W efekcie wszelkie zmiany w kolekcji mogą być dokonane jedynie poprzez obiekt jej właściciela, a odczyt kolekcji jest możliwy z wykorzystaniem dotychczasowej metody ''get'' ''().''




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

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

State/Strategy: konsekwencje

State/Strategy: konsekwencje


Zastosowanie wzorca pozwala modyfikować zachowanie obiektów tak jakby zmieniała się ich klasa – i to jest najważniejszy cel i konsekwencja tego wzorca. Istnieje natomiast grupa efektów pośrednich, ale o dość interesujących właściwościach. Hermetyzacja stanu w postaci niezależnych klas pozwala na jednorazową, niepodzielną zmianę tego stanu, bez wprowadzania stanów niespójnych czy nieoznaczonych. Jeżeli obiekty State nie przechowują informacji (w większości przypadków może ona być zapamiętana w obiekcie Context, ponieważ ona nie ulega zmianie), a jedynie definiują zachowanie, wówczas – paradoksalnie – obiekty te, reprezentujące stan, są bezstanowe i mogą być współdzielone między wiele obiektów Context.


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