Czytałem o modelu memento z różnych źródeł w Internecie. Różnice w informacjach z różnych źródeł wprawiły mnie w zakłopotanie, dlaczego ten wzorzec jest w rzeczywistości potrzebny.
Dofactory realizacja mówi, że podstawową intencją tego wzorca jest przywrócenie stanu systemu.
Wiki mówi, że głównym celem jest być w stanie przywrócić zmian w systemie. Daje to inny wpływ - mówiąc, że system może mieć implementację pamiątek bez konieczności przywracania. I ta zdolność przywracania jest tego cechą.
OODesign tak mówi
Czasami konieczne jest uchwycenie stanu wewnętrznego obiektu w pewnym momencie i możliwość przywrócenia obiektu do tego stanu w późniejszym czasie. Taki przypadek jest przydatny w przypadku błędu lub niepowodzenia.
Moje pytanie brzmi: dlaczego właśnie tego używamy? Czy ma to uratować poprzednie stany - czy też promować enkapsulację między Opiekunem a Pamiątką? Dlaczego ten rodzaj enkapsulacji jest tak ważny?
Edycja: dla odwiedzających, sprawdź tę implementację!
Edycja : Pracuję nad wdrożeniem pamiątkowego rozwiązania mojego problemu. Wyślę kolejne pytanie na ten temat i połączę to pytanie z tym. Dziękujemy wszystkim za udzielenie cennych sugestii!
Edycja 3 : Oto link do mojej przykładowej implementacji