2013-03-22 3 views
1

Меня интересует объект посредника, потому что он звучит полезно, но расшифровывает примеры кода, чтобы научиться взаимодействовать с ним и строить этот объект. Мне нравятся примеры кода, если они приходят с некоторыми объяснениями, какими бы короткими они ни были. Кто-нибудь сможет объяснить, что я создаю, когда я создаю объект-посредник?Как работает объект-посредник? Какова идея этого?

Будет ли объект-посредник способом обработки событий событий, отправленных между классами? или объект посредника просто лучше служит для консолидации аналогичного кода в одно удобное место?

Я не знаю, практично ли это для удобства или практично, потому что нет другого способа делать то, что он делает. Любые подробности, однако, «ошарашенные», были бы самыми превосходными. Заранее спасибо.

+1

Вы пытались прочитать статью Википедии о шаблоне посредника (http://en.wikipedia.org/wiki/Mediator_pattern)? – RJo

+0

У меня есть, я просто не понимаю «на английском» описание того, что делает объект, например _actually_. Наверное, мне интересно, если это то, что вы создаете, в соответствии с вашими потребностями, или если есть стандарт, который я должен придерживаться, когда я пытаюсь это сделать. –

ответ

3

Объект посредника предназначенный ничего не делать сам. Вы не должны перемещать какую-либо логику, которая у вас уже есть, за исключением, возможно, для некоторого мультиплексирования/демультиплексирования (когда один объект отправляет одно и то же сообщение нескольким другим объектам). Медиатор - это просто внешний интерфейс (если он одновременно выступает в качестве фасада) и определенно канал передачи сообщений между ранее существовавшими объектами.

Аналогично, медиатор не должен создаваться, пока вы уже не ощущаете необходимость в таком канале передачи сообщений. Как такая необходимость выглядит? У вас уже есть набор объектов, которые начинают называть друг друга все более сложными способами. Эти объекты хранят ссылки друг на друга; число таких ссылок уже становится больше, чем количество таких объектов.

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

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

+0

Это был фантастический ответ, который дал мне представление обо всех аспектах, которые я смутил. Благодарю вас, очень! –

 Смежные вопросы

  • Нет связанных вопросов^_^