|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
|
GoF Mediator/Proxy - практическая разница
Я вот не могу понять всё таки, в чем между ними практическая разница.
Proxy - обёртка, контролирующий доступ к объекту. Mediator - посредник, чтобы избавить объекты от нужды ссылаться друг на друга. По сути и там и там мы обращаемся к какому-то объекту, который потом дёрнет оригинальный объект (или не дёрнет). Единственную разницу, что вижу - это то что прокси должен полностью совпадать интерфейсом с оригинальным объектом. Но если медиатор имеет тот же интерфейс, он превращается в прокси?.. Ну, прокси может её полностью заменять объект, типа делать вид что он есть, а его нету. Ну и медиатор может запрос резко "отрулить" в другое русло. Всё таки, какая между ними разница, кроме исключительно идиологической?
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
Proxy не обёртка, а суррогат, заместитель. Обёрткой гоф называют два других паттерна -Adapter и Decorator
Если так рассуждать, то, в принципе, между всеми структурными паттернами нет разницы. Все они служат для уменьшения связанности отдельных элементов системы. Добавлено через 1 минуту И к тому же они и сами говорят, что возможны комбинированные реализации. Всё зависит от целей и контекста. |
|
|||||
блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
|
Заместитель объекта, который контролирует доступ к нему вполне себе может называться обёрткой. Адаптер, куда менее похож на обёртку, чем прокси.
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
Это авторы PureMVC перевернули все с ног наголову
У GoF Медиатор - это объект, через который взаимодействуют несколько других объектов. Т.е. есть 3 компонента, обменивающихся между собой информацией При изменении одного приходится менять остальные 2 и разбираться в их взаимодействии Если же разрешить каждому компоненту работать только с медиатором (медиатор один на всех) - то менять придется только 2 объекта - компонент и медиатор. Например, модель в MVC в каком-то смысле является медиатором между разными вьюшками Последний раз редактировалось expl; 17.11.2010 в 01:31. |
|
|||||
блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
|
Я PureMVC не знаю )
Понятно, спасибо.
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
Цитата:
Именно в этом и заключается искомая вами разница
__________________
Сам себе репортер |
Часовой пояс GMT +4, время: 18:18. |
|
« Предыдущая тема | Следующая тема » |
|
|