Почему BaseViewModel в MVC? - PullRequest
       0

Почему BaseViewModel в MVC?

1 голос
/ 22 июня 2011

Я новичок в MVC и работаю над MVC 3. Кто-нибудь может объяснить, в чем преимущества использования BaseViewModel в MVC?

1 Ответ

3 голосов
/ 22 июня 2011

Это поможет вам избежать дублирования кода. Например, в блоге вы можете отобразить список тегов на каждой странице. Один из способов сделать это - добавить свойство List<Tag> к каждой модели представления. Или вы можете создать один BaseViewModel со свойством List<Tag>, чтобы сохранить беспорядок в ваших моделях просмотра с тем же свойством.

Из этого:

class HomeViewModel
{
    public List<Tag> Tags { get; set; }
}

class PostsViewModel
{
    public List<Tag> Tags { get; set; }
}

К этому:

abstract class BaseViewModel
{
    public List<Tag> Tags { get; set; }

    public BaseViewModel()
    {
        Tags = GetTagsFromSomewhere();
    }
} 

class HomeViewModel : BaseViewModel { }
class PostsViewModel : BaseViewModel { }

Надеюсь, это поможет.

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