phase-1: scaffold platform foundation structure and architecture governance
This commit is contained in:
35
docs/architecture/foundation/Dependency-Rules.md
Normal file
35
docs/architecture/foundation/Dependency-Rules.md
Normal file
@@ -0,0 +1,35 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user