Поведенческие паттерны: Хранитель (Memento) C#
В данной статье мы рассматриваем Поведенческий шаблон проектирования "Memento" и его реализацию на .NET
Назначение:
Паттерн Хранитель (Memento) — позволяет выносить внутреннее состояние объекта за его пределы для последующего возможного восстановления объекта без нарушения принципа инкапсуляции.
- Не нарушая инкапсуляции, паттерн Memento получает и сохраняет за пределами объекта его внутреннее состояние так, чтобы позже можно было восстановить объект в таком же состоянии.
- Является средством для инкапсуляции "контрольных точек" программы.
- Паттерн Memento придает операциям "Отмена" (undo) или "Откат" (rollback) статус "полноценного объекта".
Когда использовать Memento?
-
Когда нужно сохранить состояние объекта для возможного последующего восстановления;
-
Когда сохранение состояния должно проходить без нарушения принципа инкапсуляции;