DIP — модули высокого уровня не зависят от модулей низкого уровня, оба зависят от абстракций. Плохо: class UserService: self.repo = PostgresRepo() — жёсткая зависимость. Хорошо: class UserService: def __init__(self, repo: UserRepo) — зависимость от абстракции. UserRepo — Protocol или ABC. При создании передаёшь конкретную реализацию. Для тестов — MockRepo. В Python: type hints + DI через конструктор. FastAPI Depends() автоматизирует. DIP — основа для тестируемости и гибкости архитектуры.
Что такое Dependency Inversion Principle?
Senior
268 просмотровAFK Offer AI
Что такое broadcasting в NumPy?