Найти тему
using Dev

Memento C#

Оглавление

Описание

Паттерн Memento (Хранитель) — это поведенческий шаблон проектирования, который позволяет сохранять и восстанавливать внутреннее состояние объекта без нарушения инкапсуляции. Этот шаблон особенно полезен в ситуациях, когда необходимо отменить изменения или вернуться к предыдущему состоянию объекта.

Реализация в общем виде

Memento состоит из трех основных компонентов:

  • Originator (Источник): объект, состояние которого нужно сохранить.
  • Memento (Снимок): объект, содержащий информацию о состоянии Originator.
  • Caretaker (Опекун): объект, отвечающий за сохранение и управление снимками состояния Originator.
-2

Пример

На примере имитации работы биржи рассмотрим пример применения данного паттерна.

Создадим интерфей IMemento.

-3

Реализуем интерфейс в классе ExchangeMemento.

-4

Создадим класс Exchange представляющий нашу биржу.

-5
-6

Для хранения состояния создадим класс Memory.

-7

Посмотрим применение.

-8

Результат.

-9

Наука
7 млн интересуются