Zpo-6-wyk-Slajd26: 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==
==Memento: struktura==


[[Image:zpo-6-wyk-Slajd26.PNG|Przykład]]
[[Image:zpo-6-wyk-Slajd26.PNG|Memento: struktura]]




Przykład zaczyna się od momentu zakończenia poprzedniego przekształcenia: wyrażenie jest zbudowane ze zmiennych lokalnych.
Obiektem, którego stan należy przechować, jest Originator. Posiada on metody służące do utworzenia migawki stanu (''createMemento'' ''())'' oraz jej odczytania w celu przywrócenia wcześniejszego stanu (''setMemento'' ''()).'' Obiekty-migawki stanu (Memento) przechowują stan obiektu Originator w postaci niezależnych instancji obiektu. Obiekty Memento posiadają metody ''getState'' ''()'' i ''setState'' ''(),'' służące do odczytania i zapisania stanu wewnątrz niego. Zarządzaniem kolejnymi migawkami stanu zajmuje się dedykowany obiekt Caretaker.
 
Jednak istotą wzorca nie jest sama możliwość tworzenia migawek stanu, ale zapewnienie im właściwego poziomu bezpieczeństwa. Wzorzec Memento pozwala na dostęp do stanu zapisanego w migawce wyłącznie jego właścicielowi, czyli obiektowi Originator, natomiast inne obiekty (w tym Caretaker) mogą tylko odwoływać się do całych obiektów, a metody ''setState'' ''()'' i ''getState'' ''()'' są dla nich niewidoczne.




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

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

Memento: struktura

Memento: struktura


Obiektem, którego stan należy przechować, jest Originator. Posiada on metody służące do utworzenia migawki stanu (createMemento ()) oraz jej odczytania w celu przywrócenia wcześniejszego stanu (setMemento ()). Obiekty-migawki stanu (Memento) przechowują stan obiektu Originator w postaci niezależnych instancji obiektu. Obiekty Memento posiadają metody getState () i setState (), służące do odczytania i zapisania stanu wewnątrz niego. Zarządzaniem kolejnymi migawkami stanu zajmuje się dedykowany obiekt Caretaker.

Jednak istotą wzorca nie jest sama możliwość tworzenia migawek stanu, ale zapewnienie im właściwego poziomu bezpieczeństwa. Wzorzec Memento pozwala na dostęp do stanu zapisanego w migawce wyłącznie jego właścicielowi, czyli obiektowi Originator, natomiast inne obiekty (w tym Caretaker) mogą tylko odwoływać się do całych obiektów, a metody setState () i getState () są dla nich niewidoczne.


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