Skip to content

Latest commit

 

History

History

Memento

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

Патерн Memento відноситься до паттернів рівня об'єкта.

Патерн Memento отримує і зберігає за межами об'єкта його внутрішній стан так, щоб пізніше можна було відновити об'єкт в такому ж стані. Якщо клієнту в подальшому потрібно "відкотити" стан вихідного об'єкта, він передає Memento назад у вихідний об'єкт для його відновлення.

Патерн оперує трьома об'єктами:

  • Господар стану (Originator);
  • Зберігач (Memento) -- зберігає стан об’єкту-господаря Originator;
  • Доглядач (Caretaker) - Відповідає за збереження об'єкта-зберігача Memento.

Для реалізації необхідно:

  1. Структура Originator у якї є якийсь мінливі стан, а також вона може створювати і приймати Зберігачів (Memento) свого стану;
  2. Структура Memento, реалізує сховище для стану Originator;
  3. Структура Caretaker, отримує і зберігає об'єкт-зберігач (Memento), поки він не знадобиться господареві(Originator).