Я работаю над проектом, который разработал базу для разработки Driven Driven.Какой уровень отвечает за бизнес-логику?
В этом проекте, мы имеем 5 слоев:
- Инфраструктура
- домена
- Application Service
- Распределенная Служба
- Презентация
Я смущен о том, как поместить мою бизнес-логику в Инфраструктуру, D omain и Service. Иногда я устанавливаю условие бизнес-логики в iqueryable Linq в репозитории; иногда я загружаю все объекты в память и помещаю их в службы; и иногда я помещаю их в метод объекта. Я не знаю, каким образом это правильный путь. Какой слой должен отвечать за эту бизнес-логику?
Мне нужны некоторые конкретные причины, чтобы убедить команду разработчиков, что бизнес-логика в коде лучше, потому что она более удобна в обслуживании. Раньше у меня было много бизнес-логики в БД, потому что я считал, что это единственная точка доступа.
Предлагаю вам больше узнать о DDD, ответ окажется очевидным. Если речь идет о фильтрации объектов в репозитории, вы можете проверить шаблон спецификации: https://berther.io/2005/03/25/the-specification-pattern-a-primer – guillaume31