Files
marketplaces/docs/architecture/foundation/adr/ADR-006-ui-component-purity-and-container-facade-pattern.md

43 lines
930 B
Markdown

# ADR-006: UI Component Purity and Container-Facade Pattern
Status: Accepted
Date: 2026-07-03
## Context
Reusable platform components cannot contain business and integration concerns.
## Decision
Separate visual and business responsibilities:
- UI components are presentational only.
- Container components connect facades to UI components.
- Facades own orchestration and use services.
- Services handle IO and integration.
UI component restrictions:
- No HttpClient.
- No localStorage/sessionStorage access.
- No environment import.
- No tenant awareness.
- No authentication/payment logic.
- No route logic.
## Consequences
Positive:
- Maximum reuse and testability.
- Supports widget library portability.
Negative:
- Requires refactoring of mixed legacy components.
## Compliance Requirements
- Components must use Inputs for data and Outputs for events.
- Business behavior belongs to facades/containers only.