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.

All labels observed (1)

Label Occurrences
SRP canonical 1

How this entity was disambiguated

Statements (47)

Predicate Object
instanceOf object-oriented design principle ⓘ
abbreviationOf Single Responsibility Principle ⓘ
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 ⓘ
encourages designing classes around a single responsibility ⓘ
splitting classes by reason to change ⓘ
fullName Single Responsibility Principle ⓘ
helpsWith avoiding god objects ⓘ
avoiding large monolithic classes ⓘ
encapsulation of responsibilities ⓘ
separation of concerns ⓘ
introducedBy Robert C. Martin ⓘ
isFirstPrincipleOf SOLID ⓘ
linked to: SOLID principles
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 ⓘ

How these facts were elicited

Referenced by (1)

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