Бизнес-логика (usecase) не должна знать про конкретные базы данных, HTTP или gRPC. Определяешь интерфейсы (Repository, Client) в слое домена, реализуешь их в инфраструктурном слое. Usecase принимает интерфейсы через конструктор. Это позволяет менять Postgres на Mongo без изменения бизнес-логики, и тестировать usecase с моками вместо реальной БД.
Как разделить бизнес-логику и инфраструктуру?
Middle
299 просмотровAFK Offer AI
Как обрабатывать ошибки в REST API?