Я новичок в MVC и буду признателен, если вы сможете уточнить мой вопрос.
Что такое модель?
Это просто класс Poco, имеющий поля/свойства, например класс Person?
Или является моделью структуры данных, имеющей в ней данные, например List<Person>
или List<Users>
?
Или в соответствии с asp.net рабочая модель - это уровень бизнес-уровня или уровня сервиса, может иметь бизнес-правила, логику, проверку и я могу разговаривать с другими слоями?
Спасибо за вашу помощь и направляем меня.
Существуют ViewModels и DataModels. Модели Poco считаются DataModels. Модели Poco также могут использоваться как ViewModels, но лучше использовать отдельные модели для просмотров. Поскольку ViewModel может состоять из одной или нескольких моделей Poco.
Здесь вы найдете более подробную информацию: http://rachelappel.com/use-viewmodels-to-manage-data-amp-organize-code-in-asp.net-mvc-applications
Одно важное замечание "Модель" в "ASP.Net MVC" отличается от "Модели" в классическом шаблоне проектирования MVC, поэтому будьте осторожны при поиске определения/ресурсов. "Модель в классическом MVC", описанная в разделе " Как следует структурировать модель в MVC? ,
"Модель" в ASP.Net MVC - это объект (обычно class
), который идеально обеспечивает все данные, необходимые для отображения определенного вида.
Нет никаких ограничений на то, используется ли такой объект для каких-либо других целей. Если вы просматриваете, отображается один конкретный элемент на уровне доступа к данным (например, Person
), вы можете легко обмениваться одним и тем же объектом на уровне доступа к данным и использовать его в качестве модели представления.
Обратите внимание, что с представлений MVC5 нельзя вызывать методы асинхронно, поэтому рекомендуется убедиться, что все данные присутствуют в экземпляре класса модели, а не позволяют просматривать вызовы DB/других удаленных служб.