Я работаю над проектом, где мне нужно было добавить слой данных в мое приложение. Я всегда считал, что уровень данных является чисто ответственным за функции CRUD, т.е. не должен содержать никакой логики, но должен просто извлекать данные для бизнес-уровня для управления.Каковы обязанности слоя данных?
Однако я немного запутался в своем проекте, потому что не уверен, правильно ли я структурировал свое приложение для этого сценария.
В основном я пытаюсь получить список продуктов из базы данных, которые попадают под определенный порог цены. На данный момент у меня есть функция в моем слое данных, которая в основном возвращает все продукты, где цена> минимальный порог и цена < максимальный порог. Но мне казалось, что это неправильно. Должен ли слой данных просто возвращать список ВСЕХ продуктов, а затем бизнес-логику выполняет фильтрацию?
Я довольно смущен тем, должен ли слой данных просто предоставлять методы, позволяющие бизнес-уровню получать необработанные данные или же он должен отвечать за получение фильтрованных данных тоже?
Если у кого-то есть статья или что-то, объясняющая это подробно, это было бы очень полезно.
Благодаря
Спасибо, это то, что я подозревал. Я полагал, что единственной ответственностью слоя данных было взаимодействие с хранилищем данных. – alimac83