Для меня я держу все как можно ближе к сущности.Через некоторое время вы начнете видеть, что в одних местах дела обстоят лучше, чем в других.Например, бизнес-логика, которая может быть определена только на основе данного экземпляра объекта, должна быть в объекте.Если требуется больше знаний о домене, то, возможно, он принадлежит службе домена.
Я разбил свою логику на три части, по большей части:
- Логика сущности
- Логика доменной службы
- Логика службы приложений
Логика приложения - это, где я регистрирую, например, события домена.Я не думаю, что электронная почта относится к домену, лично.Это требование, а не кусок логики.Если у меня есть прослушиватель в этот момент, домен может вызвать событие OrderSubmitted (), и прослушиватель несет ответственность за его действие.Событие относится к домену, поскольку оно описывает значительное событие в контексте домена.Однако, как приложение реагирует на это, на мой взгляд, все по-другому.
Как уже упоминал Syznmon, блог Уди - хороший ресурс.Однако я настоятельно рекомендую и книгу Эвана , и презентацию, которую он дал с извлеченными уроками , а также