Где должны располагаться вызовы базы данных, возвращающие примитивные типы, и кто должен их вызывать: службы приложений или службы доменов?

Насколько я знаю, репозитории должны работать с доменными/бизнес-сущностями. Все операции по сохранению и извлечению данных для создания сущностей должны проходить там, а затем репозиторий используется доменными службами и т. д. Определение репозитория должно быть на уровне домена, а реализация должна быть на уровне инфраструктуры, насколько я понимаю. Мне сложно понять, где должен быть реализован code, например, получение некоторого списка значений из таблицы, который используется для заполнения раскрывающегося списка, или какой-либо запрос для получения необходимых данных для вызова доменной службы на основе введенных пользователем данных, и кто является пользователем этих классов/методов? Другой пример — запрос, который должен проверять некоторое условие (возможно, бизнес-правило?) в базе данных для продолжения выполнения.

Должны ли они находиться в каком-то DAL (уровне доступа к данным) как DAO (объекты доступа к данным) какого-то рода, где у вас есть методы, которые возвращают примитивные типы (или их перечисления), которые отделены от репозитория? Должны ли они вызываться напрямую прикладным уровнем и уровнем домена или они должны быть опосредованы каким-то механизмом? Должен ли репозиторий быть реализован с использованием этих классов/методов или он должен быть независимым? Для простоты предположим, что мы используем ORM, например Entity Framework или Hibernate.

Натан
Вопрос задан6 апреля 2024 г.

1 Ответ

Ваш ответ

Загрузить файл.