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

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

Паттерны поведения

Читайте также:
  1. F68 Другие расстройства зрелой личности и поведения у взрослых
  2. IV. ОТУЧЕНИЕ: КАК ИСПОЛЬЗОВАТЬ ПОДКРЕПЛЕНИЕ, ЧТОБЫ ИЗБАВИТЬСЯ ОТ НЕЖЕЛАТЕЛЬНОГО ПОВЕДЕНИЯ
  3. Анализ поведения объекта
  4. Анализ рынка —это изучение спроса и предложения в определенной товарной категории, исследование потребительского поведения, структуры и конъюнктуры рынка.
  5. Введение в паттерны проектирования
  6. Введение в паттерны проектирования
  7. Введение в паттерны проектирования
  8. Введение в паттерны проектирования
  9. Введение в паттерны проектирования
  10. Введение в паттерны проектирования

ввод текста в некоторое поле может автоматически привести к выбору одного или нескольких элементов списка. Если в поле ввода присутствует какой-то текст, то могут быть активизированы кнопки, позволяющие произвести определенное дей­ствие над этим текстом, например изменить либо удалить его.

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

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

Так, класс FontDialogDirector может служить посредником между вид­жетами в диалоговом окне. Объект этого класса «знает» обо всех виджетах в окне


 

Паттерн Mediator

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

На следующей диаграмме взаимодействий показано, как объекты коопериру­ются друг с другом, реагируя на изменение выбранного элемента списка.

Последовательность событий, в результате которых информация о выбран­ном элемента списка передается в поле ввода, следующая:

1. Список информирует распорядителя о происшедших в нем изменениях.

2. Распорядитель получает от списка выбранный элемент.

3. Распорядитель передает выбранный элемент полю ввода.

4. Теперь, когда поле ввода содержит какую-то информацию, распорядитель ак­
тивизирует кнопки, позволяющие выполнить определенное действие (напри­
мер, изменить шрифт на полужирный или курсив).

Обратите внимание на то, как распорядитель осуществляет посредничество между списком и полем ввода. Виджеты общаются друг с другом не напрямую, а через распорядитель. Им вообще не нужно владеть информацией друг о друге, они осведомлены лишь о существовании распорядителя. А коль скоро поведение локализовано в одном классе, то его несложно модифицировать или сделать со­вершенно другим путем расширения или замены этого класса.

Абстракцию FontDialogDirector можно было бы интегрировать в библио­теку классов так, как показано на рисунке.


 



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

Паттерны поведения | Результаты | Назначение | Применимость | Паттерны поведения | Паттерн Interpreter | Назначение | Паттерны поведения | Паттерн Iterator | Паттерны поведения |


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