Repository — абстракция над хранилищем данных. Интерфейс: get(id), save(entity), delete(id), list(filters). Реализация: PostgresUserRepo, MongoUserRepo, InMemoryUserRepo. Use case работает с интерфейсом, не знает про SQL. В Python: Protocol или ABC для интерфейса, конкретный класс с SQLAlchemy/asyncpg для реализации. Тесты используют InMemoryRepo. Плюсы: легко менять БД, тестируемость, разделение ответственности. Минусы: дополнительный слой абстракции, может быть избыточен для простых CRUD.
Что такое Repository Pattern?
Senior
279 просмотровAFK Offer AI
Как оптимизировать SQL запросы из Python?