OberonCore https://forum.oberoncore.ru/ |
|
? Шаблон проектирование Model-View-Presenter развитие MVC ? https://forum.oberoncore.ru/viewtopic.php?f=86&t=3667 |
Страница 1 из 1 |
Автор: | hothing [ Пятница, 11 Ноябрь, 2011 19:21 ] |
Заголовок сообщения: | ? Шаблон проектирование Model-View-Presenter развитие MVC ? |
Прочитал статью Model-View-Presenter и сопутствующие паттерны. С первого взгляда, новый шаблон лучше старого MVC. Пока не понял какие недостатки у данного шаблона. Кто в курсе, пожалуйста, просветите. ЗЫ И можно ли подобный подход использовать в Blackbox Framework? |
Автор: | Илья Ермаков [ Пятница, 11 Ноябрь, 2011 20:40 ] |
Заголовок сообщения: | Re: ? Шаблон проектирование Model-View-Presenter развитие MV |
Насколько я понимаю, отличия такие. В традиционном MVC вьюшка наблюдает модель, контроллер реализует на основе событий изменения в модели. Имеется некая форма "конвейера", где объекты, в общем, равноправны. В MVP предлагается сделать две совершенно независимых сущности - модель и вьюшка. Они на нижнем уровне с точки зрения логики интерфейса. Модель является "фасадом" к реализации предметной области, а вьюшка является "фасадом" к конкретному графическому интерфейсу на экране. И над ними работает presenter, который организует их взаимодействие как надсистема над двумя своими подсистемами. Presenter - управляющий уровень над двумя независимыми подсистемами: прикладной логики и отображения. Для компонентного стиля, когда обязательно вводятся базовые абстрактные типы (интерфейсы), такой подход естестеннее, мне кажется, чем традиционный MVC (который возник в Смоллтоке, где всё было завязано на наследование реализации). Никаких препятствий для применения в ББ не вижу - это сведётся просто к введению дополнительного координирующего объекта. |
Автор: | Пётр Кушнир [ Пятница, 11 Ноябрь, 2011 20:51 ] |
Заголовок сообщения: | Re: ? Шаблон проектирование Model-View-Presenter развитие MV |
Это они видимо выдумали новый паттерн исходя их потребностей веб-приложений на АСП, где вся страница в браузере это такой "view+controller" а сервер-сайд это ихний презентер, которому надо постоянно передавать идентификатор контекста и прочий мусор. Очередной революционно-инновационный прорыв. С тем же успехом можно разложить эту схему в терминах многоагентных систем, но мы же не мейнстримщики какие-нибудь. |
Автор: | Илья Ермаков [ Пятница, 11 Ноябрь, 2011 22:34 ] |
Заголовок сообщения: | Re: ? Шаблон проектирование Model-View-Presenter развитие MV |
В обычном MVC будут три статических связи - по знанию интерфейсов (от View к Model, от Controller к Model и в каком-либо направлении между V и C). В обсуждаемом MVP две cтатических связи от координирующего объекта к совершенно независимым View и Model (+ доп. динамические через inv of control, кстати, в статье он неверно трактуется). Налицо уменьшение зависимостей. Декомпозиция более удачная. Если я правильно понял их идею. Но сам часто использую такой подход - для связи двух объектов создать над-объект, который будет осуществлять транспорт событий между ними в соответствии с общей логикой. |
Автор: | Валерий Лаптев [ Пятница, 11 Ноябрь, 2011 22:50 ] |
Заголовок сообщения: | Re: ? Шаблон проектирование Model-View-Presenter развитие MV |
А это уже паттерн Посредник... Таким образом, постепенно начинается комбинирование паттернов. Только не нужно новые названия придумывать. |
Автор: | hothing [ Понедельник, 14 Ноябрь, 2011 10:33 ] |
Заголовок сообщения: | Re: ? Шаблон проектирование Model-View-Presenter развитие MV |
Спасибо! |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |