ASP.NET MVC, для чего нужна папка Models? - PullRequest
5 голосов
/ 13 мая 2009

Еще один репозиторий App_Code? Внутри примера NerdDinner он содержит некоторый интерфейс общего доступа, функцию, класс со свойством и т. Д. С App_Code мало чем отличается.

Ответы [ 6 ]

8 голосов
/ 13 мая 2009

Основная идея существования папки Models - сохранить ваши объекты, которыми вы манипулируете. Это соглашение для поддержки парадигмы MVC (Model-View-Controller). В базовом приложении ASP.NET MVC вы сохраняете класс DataContext L2S или контекстный класс EF в папке Models.

Потребность в дополнительных классах (файлах) в папке Models может быть объяснена идеей частичных классов: все классы в файле DataContext являются частичными и, как таковые, могут быть расширены с помощью дополнительных свойств и методов.

Если вы делите свое приложение MVC на несколько проектов, вам вообще не нужно использовать папку Models, поскольку ваш DAL будет находиться в DLL, на которую вы ссылаетесь из веб-приложения MVC.

5 голосов
/ 13 мая 2009

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

3 голосов
/ 13 мая 2009

Модели - это М в MVC. Хотя в шаблоне проекта по умолчанию не предусмотрены какие-либо функции, он предназначен для использования технологией доступа к данным. Будь то веб-сервисы, ado.net, linq to sql, nhibernate и т. Д.

Конечно, вам не нужно помещать это туда, вы можете поместить каждую часть проекта в свой собственный проект, это ваше дело. Он просто помогает упростить шаблон MVC и не имеет реальной функции.

0 голосов
/ 13 мая 2009

В проекте, где мы используем модели llblgen, у меня есть папка с именем llblgen для сгенерированных моделей и папка, специально предназначенная для того, что мы создаем сами.

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

0 голосов
/ 13 мая 2009

Мы обычно храним наши dbmls в этой папке. Как объяснил @diadiora, вы можете добавить сборку или код уровня данных.

Это способ агрегирования функциональных аспектов шаблона MVC. Как и когда вы запускаете приложение Ruby on Rails, я думаю, что Microsoft пытается внедрить принципы самоуверенного программирования и структуры.

0 голосов
/ 13 мая 2009

Папка модели - это больше соглашение от MVC-Model View Controller. Вы можете использовать любую папку для хранения своей модели или даже в другой сборке, это зависит от требований или пожеланий структуры вашего проекта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...