ModelPresenterView и служебные диалоги
От: Аноним  
Дата: 21.11.07 11:13
Оценка:
Пусть, используя MPV
Автор(ы): Иван Бодягин
Дата: 25.07.2006
В наше время сложно найти разработчика, который не слышал бы о паттерне под названием Model-View-Controller или сокращенно MVC, что вообщем не удивительно, с задачей отделения данных от их представления сталкиваешься практически на каждом проекте. Однако, как ни странно, столь же сложно найти разработчика, который действительно четко себе представляет, что такое на самом деле паттерн MVC и как его можно реализовать в конкретной ситуации. Основная причина такой неоднозначности в том, что по историческим причинам данной аббревиатурой принято называть не один единственный паттерн, а целое семейство паттернов, призванное отделять представление от модели. Произошло это в силу разных обстоятельств. Отчасти из-за того что MVC не просто паттерн, а довольно объемное архитектурное решение, в котором каждый новый разработчик видел что-то свое и ставя во главу угла особенности своего проекта, реализовывал его по своему. Отчасти же из-за возраста данного паттерна, во времена его изобретения и сами приложения, и графические интерфейсы были существенно беднее чем в наше время, с тех пор они сильно эволюционировали и вместе с ними изменялся и сам паттерн. Данная статья посвящена также одному из паттернов входящих в это семейство, причинам его появления, особенностям применения, преимуществам и недостаткам, а так же описанию сопутствующих паттернов.
, мы создали приложение:
Presenter отбражает результаты работы счётного части (Model) на несколько форм(Views).
Скажем, три формы (View1,View2,View3) с разными графиками, один Presenter, одна Model.
Вопрос: чем должны являться модальные диалоги (10 штук), задающие параметры алгоритма ?

Делать их все View вроде не стоит логически, и накладно физически, т.к. для каждый View
реализует своё интерфейс IView.

С другой стороны, результат их ввода нужен Presenter'у: он забирает результат и сохраняет его в модели.

Можно, конечно, интерфейс диалогов реализовать в интерфейсах одного или нескольких View, с тем, чтобы они просто переадресовали запросы нужным диалогам. Т.е. для Presenter'a этих диалогов не существует — он видит только интерфейсы View1,2,3.
В сомнениях. Поделитесь опытом.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.