Приложение MVC3 / Уровень сервиса / Уровень репозитория / Классы POCO / EF4 - Вопросы!

Я новичок в этой концепции дизайна, и, читая за последние несколько недель, я собрал много информации, но она кажется разрозненной и противоречивой. Термины смешаны, и мне просто трудно обдумать это.

Я использую такой шаблон и предполагаю, что поток выглядит следующим образом:

Приложение MVC
Контроллер (ы) обрабатывают запрос / ответ от клиента для данного представления. Внутри методов действий контроллеров они связываются со службами (уровень сервиса) и либо запрашивают объекты для построения моделей представления, либо отправляют объекты из моделей представления обратно.

Модели представления
Я использую строго типизированные модели представления для и из просмотров.

Являются ли модели просмотра DTO? Должны ли они содержать только простые свойства, такие как Name, AddressLine1, Address City и т. Д., Или должны ли они содержать сложные свойства, несколько объектов и т. Д.

Является ли проверка в модели представления. Если да, то это будет проверка, такая как обязательные поля, длина поля и т. Д. Тогда проверка, такая как имя пользователя, уже существует, или где вам нужно будет взаимодействовать с другими объектами на уровне сервиса?

Могут ли модели представления содержать только классы POCO, возвращенные из EF, или мне следует использовать AutoMapper?

При использовании AutoMapper и DTO, являются ли DTO клоны классов POCO?

Можете ли вы сопоставить контроллер, модель представления или уровень сервиса ниже?

Сервисы
Для меня сервис (ы) - это объекты, которые связываются с репозиторием (репозиториями) чтобы вернуть объекты POCO из EF. Вот где вся моя бизнес-логика. Когда служба возвращает объект в репозиторий для сохранения в EF, они считаются допустимыми объектами. Это правильно?

Репозитории
В них нет бизнес-логики, они просто используются для передачи объектов между сервисом (ами) и EF. Это правильно? Я реализую здесь интерфейсы с помощью общего репозитория. Тогда вы могли бы расширить общий репозиторий для особых нужд?

Вопросы по терминологии
1) Равен ли бизнес-объект объекту домена? Сколько логики должен содержать объект домена?

2) Является ли модель предметной области моделью EF? Я использую подход Model-First.

3) Внедрение зависимостей - следует ли мне использовать это? Я понимаю, как это работает, только не получаю реальной пользы. Я играл с Ninject.

Я думаю, что сообществу будет полезна какая-то вики, содержащая все лучшие практики с образцами кода. Есть ли что-то подобное? Многие образцы очень просты, и многие образцы Microsoft не используют этот образец даже при утверждении.

Заранее спасибо всем, кто помог мне с этим.

BTW - Я думаю, StackOverflow нужно немного " s что переходы CSS для Isotope записываются как:

/**** Isotope CSS3 transitions ****/

.isotope,
.isotope .isotope-item {
-webkit-transition-duration: 0.8s;
-moz-transition-duration: 0.8s;
transition-duration: 0.8s;
}

.isotope {
-webkit-transition-property: height, width;
-moz-transition-property: height, width;
transition-property: height, width;
}

.isotope .isotope-item {
-webkit-transition-property: -webkit-transform, opacity;
-moz-transition-property: -moz-transform, opacity;
transition-property: transform, opacity;
}

Я благодарен за любую помощь с этим. Отлично смотрится в Firefox!

Спасибо!

8
задан Pavlo 6 October 2012 в 09:23
поделиться