2015-11-28 3 views
1

Определенные типы поведения моей модели домена могут быть делегированы Azure WebJob. Если я продолжу использовать тот же класс модели домена на веб-сайте & Web Job, , похоже, что он нарушает разделение проблем. Между двумя различными процессами будет плотная связь.Разработка доменных окон Windows Azure Web Job

Если фоновый процесс, Web Работа в этом случае всегда есть свои специализированные модели предметной области & поведения подвергаются этим следует употреблять только один процесс?

+1

Если я правильно понимаю это, вы в основном отключаете свою веб-роль и, возможно, представляете веб-работу для какой-то фоновой/многократной обработки. Это, похоже, не нарушает SoC. Фактически хорошая практика заключается в том, чтобы держать их отдельно, чтобы приложение разбивало работу между компонентами. –

ответ

3

Если у вашей модели домена нет каких-либо зависимостей от среды (какой она должна быть), то я не вижу в этом проблемы.

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

Если вы используете доменные события, у вас уже есть основа для общения с веб-заданием. Это именно то, что мы делаем в течение года, и он прекрасно работает:

  • веб-приложения публиковать события домена к очереди Azure Storage
  • Веб-работа их получает и выполняет фоновую обработку на та же модель

Так все, что вам нужно сделать, это создать два отдельных приложения/службы слоев (один для веб-приложения, один для фона рабочего) и убедитесь, что вся логика домена в многоразовой библиотеке.

+0

Спасибо, рад узнать, что эта же модель DDD использовалась в вашей установке уже более года, и она работает хорошо. – Abhijeet

+0

Я сделал настройку роли WebRole & Worker в своем предыдущем проекте без DDD. В роли рабочего была выделена библиотека классов для инкапсуляции бизнес-логики. Такая настройка может быть лучше для более быстрой кривой обучения, пожалуйста, ваши мысли? – Abhijeet

Смежные вопросы