MongoDB: Использование архитектуры лука, нужен мой домен / сердечный слой для ссылки на DLL MongoDB?
-
13-12-2019 - |
Вопрос
mongodb имеет свой собственный тип объекта, который он использует в качестве основного ключа по умолчанию.Я пытаюсь настроить приложение, предназначенное для архитектуры лука с MongoDB в качестве механизма постоянства в слое инфраструктуры.Если мои классы Poco определены в моем доменном слое, но используйте тип объекта MongoDB для первичных ключей, это заставляет меня добавить MongoDB в качестве зависимости на моем доменном слое?
Решение
Вам не нужно понадобиться ссылку на MongoDB в любом месте, кроме внешнего уровня.В луковидной архитектуре, постоянство данных считается инфраструктурой.У меня будет Mongodb быть частью реализации хранилища, которая реализует интерфейсы репозитория, определенные в доменной модели.
Документы MongoDB MongoDB имеют поле Geneacodicetacode, которое однозначно идентифицирует его. Смотрите здесь :Значение
_id
может быть любого типа, кроме массивов, так долго, как это уникально.Если ваш документ имеет естественный первичный ключ, который неизменен, мы рекомендуем использовать это в_id
вместо автоматически сгенерированных идентификаторов.
Не позволяйте вашему механизму настойчивости подтолкнуть вас!