Атрибут Отображение в модели нарушает разделение интересов от вида и модели? - PullRequest
3 голосов
/ 05 декабря 2011

Может быть глупый вопрос.Но разве указание заголовка в модели с использованием атрибута Display не нарушает принцип разделения интересов?Разве заголовок не должен принадлежать в представлении?

Если это не так, может кто-нибудь объяснить, почему он принадлежит модели?

Ответы [ 3 ]

5 голосов
/ 05 декабря 2011

Среда MVC позволяет помещать DataAnnotations в модель, но строго говоря DataAnnotations следует размещать в ViewModel, а не в модели, сопоставленной с базой данных.

2 голосов
/ 05 декабря 2011

Нет, это не нарушает шаблон, если это ваша ViewModel .

Модель представления, как правило, представляет собой простой POCO (обычный старый объект CLR), который не содержит бизнес-логики, в основном только свойства.

Метод @Html.DisplayFor(x => x.MyProperty) будет искать атрибут Display и использовать эту информацию. Таким образом, правильный способ - использовать атрибут вместо любого вида жестко закодированного текста в вашем представлении.

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

0 голосов
/ 05 декабря 2011

Существует тонкая грань между изоляцией вашей доменной модели от представления и наличием анемичной доменной модели (http://en.wikipedia.org/wiki/Anemic_domain_model). Лично я считаю, что в некоторых местах можно использовать вашу модель домена в качестве свойств модели представления.

Моя личная мозговитость с моделью анемичного домена заключается именно в том, что она "облегчает дублирование кода среди сценариев транзакций и аналогичных сценариев использования, сокращает повторное использование кода".

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