Позвольте мне предложить этот пример сценария корпоративного приложения, с которым я работал, чтобы объяснить, почему доменный уровень и бизнес-уровень оба содержат бизнес-логику, но различаются.
Предположим, у меня есть продукт COTS, который является чистым механизмом управления делами, скажем, реализация OMG CMMN. Целая куча бизнес-логики на бизнес-уровне, которая работает с кучей сущностей из уровня данных.
Теперь продолжайте предполагать, что у меня есть два клиента, которые являются системными интеграторами, один из которых создает систему управления юридическими случаями, а другой - управление медицинскими услугами. оба являются кейс-менеджментом, но имеют свои собственные доменные термины, объекты, процедуры, отраслевые архитектуры и т. д.
Каждый будет добавлять свой собственный уровень домена, чтобы они могли работать в терминах и понятиях соответствующего бизнес-домена.
Так что да, он содержит бизнес-логику, но уровень домена - это способ объединить общий бизнес многократного использования с конкретным бизнесом.
Чем «проще» приложение, тем больше похожи модель предметной области и модель данных, а также бизнес-логика и логика предметной области. Но когда вы увеличиваете «полезность» компонента, расходятся, в конце концов, проблемы разделяются.