Студопедия
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Участники

Читайте также:
  1. IV. УЧАСТНИКИ И УСЛОВИЯ УЧАСТИЯ В ФЕСТИВАЛЕ
  2. IV. УЧАСТНИКИ И УСЛОВИЯ УЧАСТИЯ В ФЕСТИВАЛЕ
  3. IV. УЧАСТНИКИ КОНКУРСА И ПОРЯДОК ИХ ВЫДВИЖЕНИЯ
  4. IV. УЧАСТНИКИ ОБРАЗОВАТЕЛЬНОГО ПРОЦЕССА
  5. IV. УЧАСТНИКИ ОБРАЗОВАТЕЛЬНОГО ПРОЦЕССА
  6. IV. Участники соревнований и заявка.
  7. V. УЧАСТНИКИ СОРЕВНОВАНИЙ.
  8. V. УЧАСТНИКИ, ОБЩЕКОМАНДНЫЙ ЗАЧЕТ И ВИДЫ СПОРТА
  9. Глава 6. Участники уголовного судопроизводства со стороны обвинения 1 страница
  10. Глава 6. Участники уголовного судопроизводства со стороны обвинения 2 страница

a Memento (SolverState) - хранитель:

- сохраняет внутреннее состояние объекта Originator. Объем сохраняе­
мой информации может быть различным и определяется потребностями
хозяина;

- запрещает доступ всем другим объектам, кроме хозяина. По существу,
у хранителей есть двалнтерфейса. «Посыльный» Caretaker «видит»
лишь «z/зкмм» интерфейс хранителя - он может только передавать храни­
теля другим объектам. Напротив, хозяину доступен «широкий» интер­
фейс, который обеспечивает доступ ко всем данным, необходимым для
восстановления в прежнем состоянии. Идеальный вариант - когда толь­
ко хозяину, создавшему хранитель, открыт доступ к внутреннему состоя­
нию последнего;

a Originator (ConstraintSolver) - хозяин:

- создает хранитель, содержащего снимок текущего внутреннего состояния;

- использует хранитель для восстановления внутреннего состояния;


Паттерн Memento

a Caretaker (механизм отката) - посыльный:

- отвечает за сохранение хранителя;

- не производит никаких операций над хранителем и не исследует его внут­
реннее содержимое.

Отношения

а посыльный запрашивает хранитель у хозяина, некоторое время держит его у себя, а затем возвращает хозяину, как видно на представленной диаграмме взаимодействий.

 

Иногда этого не происходит, так как последнему не нужно восстанавливать

прежнее состояние;

а хранители пассивны. Только хозяин, создавший хранитель, имеет доступ к информации о состоянии.

Результаты

Характерные особенности паттерна хранитель:

а сохранение границ инкапсуляции. Хранитель позволяет избежать раскрытия информации, которой должен распоряжаться только хозяин, но которую тем не менее необходимо хранить вне последнего. Этот паттерн экранирует объекты от потенциально сложного внутреннего устройства хозяина, не из­меняя границы инкапсуляции;

а упрощение структуры хозяина. При других вариантах дизайна, направлен­ного на сохранение границ инкапсуляции, хозяин хранит внутри себя вер­сии внутреннего состояния, которое запрашивали клиенты. Таким образом, вся ответственность за управление памятью лежит на хозяине. При пере­кладывании заботы о запрошенном состоянии на клиентов упрощается струк­тура хозяина, а клиентам дается возможность не информировать хозяина о том, что они закончили работу;

а значительные издержки при использовании хранителей. С хранителями могут быть связаны заметные издержки, если хозяин должен копировать большой


 



Дата добавления: 2015-09-11; просмотров: 81 | Поможем написать вашу работу | Нарушение авторских прав

Применимость | Паттерны поведения | Паттерн Interpreter | Назначение | Паттерны поведения | Паттерн Iterator | Паттерны поведения | Паттерны поведения | Паттерны поведения | Virtual -FontDialogDirector(); |


lektsii.net - Лекции.Нет - 2014-2025 год. (0.007 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав