Dependency Rule — сформулировано Uncle Bob в Clean Architecture (2017):

Source code dependencies must point only inward, toward higher-level policies.

Что это значит:

  • Domain не знает про Application.
  • Application не знает про Infrastructure.
  • Infrastructure не знает про Interface (транспорт).
  • Interface (HTTP handlers) знает про всех.

Но: зависимости в runtime могут идти наружу через инверсию. PlaceOrderUseCase вызывает OrderRepositoryPort.save(order) — но конкретный PostgresOrderRepository подставляется из Infrastructure через DI. Компилируется UseCase без знания о Postgres.

Правило работает благодаря инверсии зависимостей (DIP). Без неё Clean/Hexagonal/Onion — не более чем папочная структура.

Синонимы

Правило зависимостей

Не путать с

← ко всему глоссарию