Может ли управляемый доменом дизайн приложения иметь модели

Может ли прикладной уровень в DDD иметь модели?

Чтобы быть более явным, у меня есть credential сущность в моей системе, которая связана с процессом аутентификации, который находится за пределами моего уровня домена, так где эта сущность будет? Я новичок в домене, управляемом дизайном.

0

Решение

Уровень приложений может использовать свои собственные представления данных. Если вы подключите его к пользовательскому интерфейсу, прикладному уровню придется преобразовывать объекты домена для просмотра данных.

Но я бы не назвал это «моделью», разве что в смысле «модель представления».

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

Пример приложения Вона Вернона

Взглянув на Пример приложения Вернона, вы можете иметь службу аутентификации, изолированную от вашего потребляющего приложения. Для этого Vernon моделирует три автономных Java-приложения.

Теперь есть сервис IdentityAccess, обеспечивающий всю аутентификацию. Там вы можете создать Tenant Сущности. Тогда есть приложение Collaboration (форум и т. Д.), Которое использует свое собственное внутреннее представление Tenant,

Таким образом, клиентское приложение получает TenantId и создает свой собственный Tenant объекты, чтобы связать темы форума с арендатором. Tenants не изменяются и не сохраняются из этого приложения, только используются.

Привязка объектов домена к вещам вне его

Ваша точка зрения может быть еще проще. Если у тебя есть Credential Сущность (в вашем Домене) и некоторая логика аутентификации вне его заставляют «аутентификатор» реализовывать специализированный интерфейс Домена и внедрять его обратно в объекты Домена если вам действительно нужно. (Это порты & Адаптерный подход: обе стороны могут указывать интерфейсы и ждать конкретных реализаций; другая сторона реализует интерфейс и внедряет объект обратно.)

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

Вернон использует Служба аутентификации внутри домена обрабатывать неправильные данные для входа.

2

Другие решения

Других решений пока нет …