OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Воскресенье, 16 Июнь, 2019 13:47

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
СообщениеДобавлено: Пятница, 11 Ноябрь, 2011 19:21 

Зарегистрирован: Среда, 31 Октябрь, 2007 18:58
Сообщения: 205
Откуда: Austria, Bruck
Прочитал статью Model-View-Presenter и сопутствующие паттерны. С первого взгляда, новый шаблон лучше старого MVC. Пока не понял какие недостатки у данного шаблона.

Кто в курсе, пожалуйста, просветите.

ЗЫ И можно ли подобный подход использовать в Blackbox Framework?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 11 Ноябрь, 2011 20:40 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9121
Откуда: Россия, Орёл
Насколько я понимаю, отличия такие.

В традиционном MVC вьюшка наблюдает модель, контроллер реализует на основе событий изменения в модели. Имеется некая форма "конвейера", где объекты, в общем, равноправны.

В MVP предлагается сделать две совершенно независимых сущности - модель и вьюшка. Они на нижнем уровне с точки зрения логики интерфейса. Модель является "фасадом" к реализации предметной области, а вьюшка является "фасадом" к конкретному графическому интерфейсу на экране. И над ними работает presenter, который организует их взаимодействие как надсистема над двумя своими подсистемами. Presenter - управляющий уровень над двумя независимыми подсистемами: прикладной логики и отображения.

Для компонентного стиля, когда обязательно вводятся базовые абстрактные типы (интерфейсы), такой подход естестеннее, мне кажется, чем традиционный MVC (который возник в Смоллтоке, где всё было завязано на наследование реализации).

Никаких препятствий для применения в ББ не вижу - это сведётся просто к введению дополнительного координирующего объекта.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 11 Ноябрь, 2011 20:51 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2585
Откуда: Россия, Ярославль
Это они видимо выдумали новый паттерн исходя их потребностей веб-приложений на АСП, где вся страница в браузере это такой "view+controller" а сервер-сайд это ихний презентер, которому надо постоянно передавать идентификатор контекста и прочий мусор. Очередной революционно-инновационный прорыв.

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 11 Ноябрь, 2011 22:34 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9121
Откуда: Россия, Орёл
В обычном MVC будут три статических связи - по знанию интерфейсов (от View к Model, от Controller к Model и в каком-либо направлении между V и C).
В обсуждаемом MVP две cтатических связи от координирующего объекта к совершенно независимым View и Model (+ доп. динамические через inv of control, кстати, в статье он неверно трактуется). Налицо уменьшение зависимостей. Декомпозиция более удачная.
Если я правильно понял их идею. Но сам часто использую такой подход - для связи двух объектов создать над-объект, который будет осуществлять транспорт событий между ними в соответствии с общей логикой.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 11 Ноябрь, 2011 22:50 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3055
Откуда: Астрахань
А это уже паттерн Посредник... :) Таким образом, постепенно начинается комбинирование паттернов. Только не нужно новые названия придумывать.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 14 Ноябрь, 2011 10:33 

Зарегистрирован: Среда, 31 Октябрь, 2007 18:58
Сообщения: 205
Откуда: Austria, Bruck
Спасибо!


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2019, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB