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