В интервью меня спросили: можем ли мы реализовать архитектуру MVC без модели? Если да - как?

0
user1049021 5 Янв 2012 в 08:24
3
Вы знаете, что большинство (хороших) вопросов на собеседовании, подобных этому, не столько ищут «правильный» ответ, сколько знают, что вы можете думать и обсуждать проблемы с умом, верно?
 – 
Andrew Barber
5 Янв 2012 в 08:36

4 ответа

Это вопрос с подвохом. Если они имеют в виду, можно ли использовать технологию Microsoft ASP.NET MVC без использования модели, то ответ — да.

Если они имеют в виду, можно ли реализовать паттерн MVC без модели, то ответ — нет. М означает Модель.

7
Erik Funkenbusch 5 Янв 2012 в 08:31

Существуют и другие способы передачи данных в представление из контроллера, например ViewData, но если это все, что вы используете, его, возможно, больше нельзя называть MVC.

1
Yuriy Faktorovich 5 Янв 2012 в 08:27

Архитектура контроллера представления модели без модели? Это был бы просто View Controller, не так ли? Я думаю, что статическому веб-сайту не нужна модель

1
Martin Booth 5 Янв 2012 в 08:28
3
Статический веб-сайт также может не нуждаться в контроллере.
 – 
Don Roby
5 Янв 2012 в 08:31
Разве это не просто вид? Зачем нужен контроллер без модели?
 – 
Tae-Sung Shin
5 Янв 2012 в 08:32
Если вы все еще используете asp.net-mvc (например, тег), вам все равно понадобится контроллер и представление
 – 
Martin Booth
5 Янв 2012 в 08:39
1
Что, если на этом веб-сайте есть как динамический, так и статический контент, оба типа маршрутизируются через фронт-контроллер? В случае запроса на динамический контент (поиск, новости и т. д.) потребуется модель. В случае запроса статического содержимого (tos, политика конфиденциальности) требуется только представление.
 – 
John Weisz
16 Фев 2015 в 18:28

Вы можете использовать ASP.NET MVC без модели с помощью ViewBag, а модель представлений является динамической. Если бы вы действительно этого хотели, вы могли бы просто получить C в MVC, вернув результат Content() из действия :)

1
Paul 5 Янв 2012 в 08:49