MVC - Модель - Просмотр структуры модели - PullRequest
0 голосов
/ 28 декабря 2011

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

Это объект в моём слое Model, поэтому вне моего MVC-проекта, отделите все вместе.

public class MyObject
{
    public int Id { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public string EmailAddress { get; set; }
}

Но тогда внутри моего проекта MVC я должен иметь класс ViewModel?

public class MyObjectViewModel
{
    public int Id { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public string EmailAddress { get; set; }
}

Который в конечном итоге содержит те же самые данные, очевидно, я могу использовать какой-то тип сопоставления для сопоставления данных между ними, но разве это не похоже на дублирование? Должно быть, я что-то упустил!

Cheers, D

1 Ответ

1 голос
/ 28 декабря 2011

ViewModel , как следует из названия, это просто еще одно представление вашей модели в другой форме. Идея состоит в том, чтобы предоставить вашей модели различные виды для рендеринга. Подумайте об этом так, если у вас есть модель категории и модель изображения, и вам необходимо отобразить их для создания новой записи. Есть два способа справиться с этим: один способ - передать одну модель в качестве параметра и удерживать другую в словаре ViewBag, а другой (предпочтительный способ) - создать представление ViewModel, как при объединении обеих сущностей в одну.

public class CatPicView
{
    public Category Category { get; set; }
    public Picture Picture { get; set; }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...