Посредник (Mediator)
Материал из Вики ИТ мехмата ЮФУ
Версия от 14:59, 20 июля 2014; Admin (обсуждение | вклад)
Содержание
Описание
В большой системе с множеством объектов каждый объект может передавать сообщения другому. В результате этого сильно возрастает количество связей между объектами (n^2).
Вместо этого предлагается завести объект-посредник, через который передавать эти сообщения (n связей)
Пример
При выборе поля списка меняется поле ввода
Здесь:
- Widget и его наследники - взаимодействующие через посредника объекты
- FontDialogDirector - посредник
Диаграмма классов для примера
Как работает:
- Изменившийся ListBox вызывает Changed(), который вызывает FontDialogDirector.WidgetChanged().
- FontDialogDirector.WidgetChanged вызывает GetSelection() для объекта ListBox и затем SetText для связанного объекта TextField