В каком слое должны содержаться конфигурации AutoMapper? - PullRequest
3 голосов
/ 03 июня 2011

В каком слое должны содержаться конфигурации AutoMapper?

AutoMapper предназначен для привязки ViewModels к моим доменным объектам.

В моем приложении три уровня: домен, пользовательский интерфейс (MVC), инфраструктура.

Ответы [ 2 ]

5 голосов
/ 03 июня 2011

Он должен находиться в самом верхнем слое, который он переводит в / из.

Если у вас есть сопоставители между доменом и инфра, они должны жить в домене (при условии, что используется инфра).

Если у вас есть сопоставители между пользовательским интерфейсом и доменом, то они должны жить в пользовательском интерфейсе (при условии, что используется домен).

Это означает, что нижние нижние слои не знают или не должны знать о верхних слоях.

2 голосов
/ 03 июня 2011

Местом для сопоставления моделей представлений с моделями доменов обычно является контроллер в архитектуре MVC. Теперь вы не слишком много говорили о своей архитектуре, а «UI» и «Infra» не очень специфичны.

В принципе вы можете вызывать конфигурацию AutoMapper только в тех местах, где известны как DomainModel, так и ViewModel. Поскольку инфраструктура не должна зависеть от ViewModels, вы должны отобразить в ViewModels (которые в любом случае зависят от модели домена) или на уровне пользовательского интерфейса (который будет контроллерами в MVC).

...