Qqqqqq

  • 10 дек. 2012 г.
  • 693 Слова
Лабораторная работа № 4
Цель: Отделяет конструирование сложного объекта от его представления, так что в результате одного и того же процесса конструирования могут получиться разные представления.Плюсы:
* Позволяет изменять внутреннее представление продукта;
* Изолирует код, реализующий конструирование и представление;
* Дает более тонкий контроль над процессом конструирования;Применение:
* алгоритм создания сложного объекта не должен зависеть от того, из каких частей состоит объект и как они стыкуются между собой;
* процесс конструирования должен обеспечивать различные
*представления конструируемого объекта.

Ход работы:
Код программы:

Результат работы программы:
Паттерн проектирования «Команда» / «Command»

Назначение паттерна Command
Используйте паттернCommand если
* Система управляется событиями. При появлении такого события (запроса) необходимо выполнить определенную последовательность действий.
* Необходимо параметризировать объектывыполняемым действием, ставить запросы в очередь или поддерживать операции отмены (undo) и повтора (redo) действий.
* Нужен объектно-ориентированный аналог функции обратного вызова в процедурномпрограммировании.
-------------------------------------------------
Пример событийно-управляемой системы – приложение с пользовательским интерфейсом. При выборе некоторого пункта меню пользователем вырабатывается запрос навыполнение определенного действия (например, открытия файла). 
Описание паттерна Command
Паттерн Command преобразовывает запрос на выполнение действия в отдельный объект-команду. Такая инкапсуляция позволяетпередавать эти действия другим функциям и объектам в качестве параметра, приказывая им выполнить запрошенную операцию. Команда – это объект, поэтому над ней допустимы любые операции, что и над объектом.Интерфейс командного объекта определяется абстрактным базовым классом Command и в самом простом случае имеет единственный метод execute(). Производные классы...
tracking img