Що означає «dependency rule»?
Dependency Rule («правило залежностей») - це головний принцип Clean Architecture, який визначає напрямок залежностей між шарами системи.
Суть правила
Усі залежності спрямовані всередину - до центру архітектури.
Внутрішні шари (бізнес-логіка) не повинні знати нічого про зовнішні (інфраструктуру, UI, фреймворки).
Як це виглядає
javascript
[ Frameworks & UI ]
↓
[ Interface Adapters ]
↓
[ Use Cases ]
↓
[ Entities ]- Код зовнішнього рівня може звертатися до внутрішнього.
- Внутрішній не повинен залежати від зовнішнього - лише від абстракцій (інтерфейсів), визначених усередині себе.
Приклад
- Можна: контролер викликає
CreateOrderUseCase. - Не можна:
CreateOrderUseCaseнапряму використовуєDjango ORMчиFlask.
Натомість use case звертається до абстракції OrderRepository, а вже адаптер (зовнішній шар) реалізує цей інтерфейс через конкретну технологію.
Навіщо потрібно
- Ізолювати бізнес-логіку від фреймворків.
- Зробити систему незалежною від зовнішніх змін.
- Полегшити тестування і заміну технологій.
Підсумок:
Dependency Rule - це правило, за яким залежності завжди спрямовані від деталей до абстракцій, і від зовнішнього до внутрішнього - щоб ядро системи залишалося стабільним, чистим і незалежним.
Коротка відповідь
Для співбесідиPremium
Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.