Я задавал этот же вопрос на саммите моделей и практик в октябре прошлого года, когда говорил с Брэдом Уилсоном , и у него не было глобального решения.
Одна идея, которую я обсуждал с ним, заключалась в расширении библиотеки отображения объектов, такой как AutoMapper , чтобы также отобразить валидацию из модели предметной области в модель представления.
При проектировании структуры, облегчающей этот сценарий, необходимо учесть несколько моментов:
Правила проверки могут зависеть от контекста и, следовательно, могут быть уникальными для конкретной модели представления. Блок проверки библиотеки предприятия позволяет настроить логику проверки с использованием файла конфигурации - например, его можно расширить и перенести на просмотр моделей.
Модель представления может иметь свойства, которые не являются частью модели домена, например свойство, которое указывает, что установлен определенный флажок «согласиться с условиями». Это свойство требует проверки, однако оно зависит от вида и варианта использования, а не от модели предметной области. Этот сценарий служит еще одним аргументом для разделения логики проверки, по крайней мере, частично.
В целях поддержки и ясности может быть проще продублировать определенную логику проверки для модели предметной области и модели представления вместо использования структуры отображения.