Глоссарий
Dependency Rule
Зависимости в исходном коде направлены только внутрь, от внешних слоёв к внутренним. Ключевое правило Clean Architecture.
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 — не более чем папочная структура.