Files
marketplaces/docs/architecture/foundation/Dependency-Rules.md

36 lines
1.2 KiB
Markdown

# Dependency Rules
Status: Mandatory
Date: 2026-07-03
## Rule Set
1. One-way dependency direction only.
2. No circular dependencies.
3. No feature imports another feature directly.
4. Shared is dependency-minimal and feature-agnostic.
5. Core is platform base and does not consume feature modules.
6. UI Library is pure presentation and cannot depend on facades/services with business behavior.
7. Widgets depend on UI Library and contracts, not on feature internals.
8. Pages compose layouts/widgets via contracts and facades.
9. Facades depend on services/contracts, never on UI components.
10. Integrations isolate external systems and expose stable interfaces.
## Dependency Injection Rules
- Depend on interfaces/tokens where replacement is expected.
- Avoid direct concrete service references across bounded contexts.
- Use adapter pattern for legacy stable modules.
## Cross-Domain Communication
- Allowed through contracts, events, and facade APIs.
- Forbidden through direct state mutation across domains.
## Forbidden Patterns
- Component to HttpClient direct calls in reusable visual components.
- Direct environment import in visual components.
- Direct localStorage/sessionStorage usage in UI components.
- Route navigation logic in UI library components.