ASP.NET MVC с архитектурой DDD - PullRequest
1 голос
/ 21 июля 2010

Я пытаюсь понять Asp.Net MVC с DDD. Ниже приведена структура приложения в соответствии с http://aspnetdesignpatterns.codeplex.com/

Прикладными уровнями

Уровень представления => Представления MVC,

Контроллеры (MVC) => Класс контроллеров MVC,

Кэшированная служба =>?,

Служба приложений =>?,

Модель домена =>?,

Репозиторий => класс репозитория для взаимодействия с БД,

Инфраструктура => Класс для ведения журнала, отправки по почте и т. Д.

здесь может возникнуть путаница в службе приложенийи модель домена, где я должен соответствовать моей бизнес-логике (в сервисе или в модели домена)

что именно должно быть в сервисе и что должно быть в домене.

например, предположим, что я хочу добавитьклиент в БД, как должен быть поток ..?

как я знаю,

в классе контроллера я напишу как

var customeService = new CustomeService (_customerRepository);
customeService.Add(customer);

, если я ошибаюсь, поправьте меня здесь..

_customerRepository идет в репозиторий

что идет в режимеl и какой должен быть поток кода.

пожалуйста, очистите меня.заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 08 мая 2014

Книга Эрика Эвана - лучшее место, чтобы начать DDD, как упомянуто @Arnis. Быстро управляемый доменом - это краткое, быстро читаемое резюме и введение в основы DDD.

what goes in model and what should be the flow of code.

Пожалуйста, проверьте следующий ответ от @calebboyd дополучить представление о потоках DDD.

А что касается MVC, вы можете отделить контроллер от уровней представления (представлений).Но вы используете этот контроллер действия в разных проектах?Если ответ «нет», я считаю, что нужно сохранить его в одном проекте.

0 голосов
/ 23 июля 2010

Вы читали эту книгу?Начните с этого.

Термин Service является перегруженным .

Доменные сервисы инкапсулируют небольшую часть логики домена, которая не вписывается ни в один из объектов домена ( некоторые говорят, что это признак того, что в вашем домене есть неопознанный совокупный корень).

Прикладные службы содержат нулевую логику домена.Они координируют домен.

Инфраструктурные сервисы кажутся мне само собой разумеющимися.Они содержат технические детали.

...