MVC - Совместное использование экземпляров ViewModel в нескольких представлениях - PullRequest
0 голосов
/ 16 февраля 2011

Интересно, что думают люди о совместном использовании экземпляров модели одного представления между несколькими представлениями?

Это антишаблон или это общепринятая практика, каковы плюсы и минусы?

1 Ответ

0 голосов
/ 29 марта 2011

Только из моего опыта

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

Также будьте осторожны с именами моделей представлений. Например, если у вас есть представления Book / Edit.aspx и Book / Add.aspx, вы не хотели бы AddBookViewModel.cs используется в книге / Edit.aspx. Это может создать некоторый запутанный код в ваших тестах, например.

В приведенном выше примере я бы обычно использовал CreateEditBookViewModel.cs

Если вы посмотрите на подобные SharpArchitecture (www.sharparchitecture.net/), я полагаю, что они используют этот подход в своих скаффолдингах, а также разделяют элементы представлений, используя общие модели представлений через партиалы.

С точки зрения того, что это анти-паттерн, я бы сказал нет; просто здоровое повторное использование кода.

...