Разница между Mediator и Observer

Observable просто имеет список observer, когда происходит какое-то сообытие, он может сделать broadcast, все обсерверы получат уведомление. Observable работает с одним типом интерфейса, и может вызвать только один метод. В Java есть готовая имлементация обоих классов.


Mediator - это некая сущность, которая знает всё о других. Другие знают о медиаторе, но не знают ничего друг от друге. Медиатор управляет другими, за счет получения от других некоторых событий. Чаще всего используется в UI. Например есть кнопка, происходит нажатие на кнопку, отправляем медиатору сообщение - "нажата кнопка". Медиатор берет и делает, например, грид не активным, прячет другую кнопку, и меняет цвет фона. Кнопка, отправившая событие ничего не знает о том, что произошло. Тоже достигается слабая связанность между компонентами.

Комментариев нет:

Отправить комментарий