Zpo-6-wyk-Slajd26: Różnice pomiędzy wersjami
Nie podano opisu zmian |
Nie podano opisu zmian |
||
Linia 1: | Linia 1: | ||
== | ==Memento: struktura== | ||
[[Image:zpo-6-wyk-Slajd26.PNG| | [[Image:zpo-6-wyk-Slajd26.PNG|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. | |||
[[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
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.