Skip to main content

Що означає «dependency rule»?

Dependency Rule («правило залежностей») - це головний принцип Clean Architecture, який визначає напрямок залежностей між шарами системи.


Суть правила

Усі залежності спрямовані всередину - до центру архітектури.

Внутрішні шари (бізнес-логіка) не повинні знати нічого про зовнішні (інфраструктуру, UI, фреймворки).


Як це виглядає

javascript
[ Frameworks & UI ] [ Interface Adapters ] [ Use Cases ] [ Entities ]
  • Код зовнішнього рівня може звертатися до внутрішнього.
  • Внутрішній не повинен залежати від зовнішнього - лише від абстракцій (інтерфейсів), визначених усередині себе.

Приклад

  • Можна: контролер викликає CreateOrderUseCase.
  • Не можна: CreateOrderUseCase напряму використовує Django ORM чи Flask.

Натомість use case звертається до абстракції OrderRepository, а вже адаптер (зовнішній шар) реалізує цей інтерфейс через конкретну технологію.


Навіщо потрібно

  1. Ізолювати бізнес-логіку від фреймворків.
  2. Зробити систему незалежною від зовнішніх змін.
  3. Полегшити тестування і заміну технологій.

Підсумок:

Dependency Rule - це правило, за яким залежності завжди спрямовані від деталей до абстракцій, і від зовнішнього до внутрішнього - щоб ядро системи залишалося стабільним, чистим і незалежним.

Коротка відповідь

Для співбесіди
Premium

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.