SRP

E811518

SRP is a core object-oriented design principle stating that a class or module should have only one reason to change, promoting cohesion and maintainability.

Try in SPARQL Jump to: Statements Referenced by

Statements (47)

Predicate Object
instanceOf object-oriented design principle
abbreviationOf Single Responsibility Principle NERFINISHED
aimsTo improve maintainability
improve readability
improve testability
promote high cohesion
reduce complexity
reduce coupling
simplify code changes
alsoKnownAs single reason to change principle
appliesTo classes
components
functions
microservices
modules
services
benefit better alignment with business rules
clearer responsibilities
easier refactoring
more focused interfaces
reduced side effects of changes
clarifies who the primary stakeholder of a class is
coreConcept each software unit should have one responsibility
responsibilities that change for different reasons should be separated
documentedIn Agile Software Development, Principles, Patterns, and Practices NERFINISHED
encourages designing classes around a single responsibility
splitting classes by reason to change
fullName Single Responsibility Principle NERFINISHED
helpsWith avoiding god objects
avoiding large monolithic classes
encapsulation of responsibilities
separation of concerns
introducedBy Robert C. Martin NERFINISHED
isFirstPrincipleOf SOLID NERFINISHED
originatedIn object-oriented design literature
partOf SOLID
popularizedIn Agile software development community
relatedTo cohesion
coupling
modularity
states a class or module should have only one reason to change
usedIn clean architecture
domain-driven design
enterprise application design
object-oriented programming
violationExample class handling business logic and persistence together
class responsible for UI, validation, and data access

Referenced by (1)

Full triples — surface form annotated when it differs from this entity's canonical label.