2013-08-03 5 views
0

Я новичок в архитектуре MVC, и я хочу изучить основы ASP.NET MVC. В статье под названием «Model View Controller, Model View Presenter, and Model View ViewModel Design Patterns« Я узнал несколько хороших моментов о MVC. Я видел в статье, что каждая модель имеет некоторые взгляды в качестве наблюдателей. Поэтому модель использует observer pattern. Когда некоторое состояние в модели изменяется, все представления уведомляются. Однако, как я знаю, ASP.NET MVC показывает только одно представление за раз. Итак, для меня странно, КАК это относится к Microsoft Asp.NET MVC. Могу ли я сказать, что у модели есть только один наблюдатель (вид) для уведомления в ASP.NET MVC?Понимание архитектуры MVC Asp.net

+0

любой человек ???????? –

+0

Это может помочь http://stackoverflow.com/questions/3700568/whos-responsible-for-the-next-view/3700740#3700740 –

ответ

0

AFAIK, в архитектуре MVC, Model - это объект, который будет использоваться для передачи данных между контроллером для просмотра и наоборот.
Следовательно, если модель изменена контроллером, тогда представление, когда оно должно быть передано пользователю, получает данные из модели.

0

Просмотр изменений в ASP MVC инициируется выполнением определенного контроллера для данного представления.

Каждый вид имеет определенный назначенный ему метод контроллера, поэтому представление может быть представлено как ответ вызова контроллера пользователем.

Например, у вас есть представление, в котором вы показываете сетку строк, извлеченных из базы данных. Нажмите кнопку «Далее» внизу сайта, чтобы перейти на вторую страницу. Что вы в основном делаете, вызывается метод контроллера, который принимает номер страницы в качестве параметра. Этот метод контроллера вызывает базу данных для данных, на основе номера страницы, который вы хотите отобразить, получить эти объекты db (как классы моделей) и передать их для просмотра, чтобы отобразить их.

Просмотр изменений инициируется контроллером. Модель - это ваше представление данных/логики. Это может по классам POCO, ваши алгоритмы, соединения с базами данных и т.д.

Другой пример, который вы вводите в свой адрес браузера:

http://stackoverflow.com/questions/18035611/understanding-asp-net-mvc-architecture 

Сделав это и нажав клавишу ENTER, вы сообщаете сайт StackOverflow запустить контроллер с именем «вопросы», и вы передаете ему параметры, которые составляют 18035611 и «понимание-asp-net-mvc-architecture». То, что делает контроллер, - это сбор необходимых данных из базы данных, преобразование их в объекты модели и отправка их для просмотра, чтобы отобразить их в HTML-коде.

Конечно, это только аналогия. Я не уверен, что технология SO использует, но если она использовала ASP MVC, это было бы так, как я описал.

+0

, как я знаю, в архитектуре MVC контроллер будет выбран во время выполнения с использованием шаблона стратегии! –

Смежные вопросы