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
307 просмотровAFK Offer AI
Что такое PEP 484 (Type Hints)?