Immutability
Kind: principle
Layer: Computation Core
Record: architecture:immutability
Severity: recommended
Scope: data, value object, concurrency
Canonical: Ontology
A design rule that a value is never changed after it is created, and a change produces a new value.
Listed in Architecture principles, after Pure Functions and before Reproducibility.
Requires
Reinforces
Enables
Conflicts with
In tension with
Tensions
Violated by
Refactored by
Severity
Category
Reinforced by
Required by
Linked from
- The board and the venue
- Stating an invariant
- Computation and resource
- Separate, trade, or mitigate
- The principle architecture
- Anti-patterns
- Domain Architecture
- Correctness / Determinism / Verification
- Core Modular Design
- Coordination Surfaces
- Core Modular Design
- Correctness / Determinism / Verification
- Transactions / State / Concurrency
- Severity levels
- The resolutions