Replaceability
Kind: quality-attribute
Layer: Structural Core
Record: architecture:replaceability
Severity: recommended
Scope: component, service, infrastructure
Canonical: Ontology
The degree to which a component can be swapped for another implementation of its interface without editing its callers.
Listed in Architecture principles, after Reusability and before Interchangeability.
Requires
Reinforces
Enables
Conflicts with
In tension with
Tensions
Violated by
Refactored by
Severity
Category
Enabled by
- Explicit Boundaries
- Single Responsibility Principle
- Separation of Concerns
- High Cohesion
- Abstraction
- Modularity
- Dependency Injection
- Component-Based Architecture
Reinforced by
- Portability
- Protocol Independence
- Information Hiding
- Composition Over Inheritance
- Interchangeability
- Adapter Pattern
Linked from
- Principles are typed
- Anti-patterns
- Domain Architecture
- Contracts / Interfaces / Compatibility
- Portability / Infrastructure / Deployment
- Core Modular Design
- SOLID / Object-Oriented Design
- Structural Patterns
- Plugin / Extensibility / IoC
- Codebase / System Architecture Styles
- Codebase / System Architecture Styles
- Core Modular Design
- SOLID / Object-Oriented Design
- Severity levels
- The resolutions