Stable Interfaces
Kind: quality-attribute
Layer: Contracts Core
Record: architecture:stable-interfaces
Severity: mandatory
Scope: API, module, service
Canonical: Ontology
The degree to which a public interface keeps its signatures and meaning across releases.
Listed in Architecture principles, after Explicit Contracts and before Interface-Based Design.
Requires
Reinforces
Enables
Conflicts with
In tension with
Tensions
Violated by
Refactored by
Severity
Category
Required by
- Explicit Boundaries
- Runtime Extensibility
- Explicit Contracts
- Interface-Based Design
- API Contract
- Encapsulation
- Composability
- Dependency Inversion Principle
- Plugin Architecture
- Extension Points
Reinforced by
Linked from
- Domain Architecture
- Runtime Discovery / Dynamic Binding
- Contracts / Interfaces / Compatibility
- Core Modular Design
- SOLID / Object-Oriented Design
- Plugin / Extensibility / IoC
- Schema / Canonical Data / Semantics
- Codebase / System Architecture Styles
- Contracts / Interfaces / Compatibility
- Severity levels
- The resolutions