Single Responsibility Principle
SRP
Kind: principle
Layer: Structural Core
Aliases: SRP, Single Responsibility Principle
Record: architecture:single-responsibility
Severity: mandatory
Scope: class, module, service
Canonical: Ontology
A design rule that a class or module has one reason to change, because it serves one responsibility.
Listed in Architecture principles, after Immutable Infrastructure and before Separation of Concerns.
Requires
Reinforces
Enables
Conflicts with
In tension with
Tensions
Violated by
Refactored by
Severity
Category
Enforced by
Reinforced by
- Domain Service
- Interface Segregation Principle
- Command Pattern
- Chain of Responsibility Pattern
- Iterator Pattern
- Pipes and Filters