Single Responsibility Principle
E232905
The Single Responsibility Principle is a core object-oriented design guideline stating that a class or module should have only one reason to change, meaning it should be responsible for just a single, well-defined functionality.
All labels observed (1)
| Label | Occurrences |
|---|---|
| Single Responsibility Principle canonical | 3 |
How this entity was disambiguated
This entity first appeared as the object of triple T2092660 — resolving that mention is where its identity was fixed. The disambiguator weighed these candidate entities and picked the highlighted one (or “None”, minting a new entity). This is how homonymy is resolved: the same surface form can point to different entities.
Target entity: Single Responsibility Principle Context triple: [Agile Software Development, Principles, Patterns, and Practices, explainsConcept, Single Responsibility Principle]
-
A.
DRY principle
The DRY (Don't Repeat Yourself) principle is a software development guideline that emphasizes reducing repetition by centralizing logic and data to improve maintainability and reduce errors.
-
B.
Clean Architecture
Clean Architecture is a software design philosophy and set of principles, popularized by Robert C. Martin, that emphasizes separation of concerns, testability, and independence from frameworks, databases, and user interfaces.
-
C.
Chain of Responsibility
Chain of Responsibility is a behavioral design pattern that decouples senders and receivers by passing a request along a chain of potential handlers until one of them processes it.
-
D.
Design Patterns: Elements of Reusable Object-Oriented Software
Design Patterns: Elements of Reusable Object-Oriented Software is a seminal software engineering book by the "Gang of Four" that catalogues foundational object-oriented design patterns widely used in software development.
-
E.
Model-View-Controller
Model-View-Controller (MVC) is a software architectural pattern that separates an application into three interconnected components—model, view, and controller—to improve modularity, testability, and maintainability.
- F. None of above. chosen
- G. Unsure - the case is ambiguous/there is not enough information to decide.
Target entity: Single Responsibility Principle Target entity description: The Single Responsibility Principle is a core object-oriented design guideline stating that a class or module should have only one reason to change, meaning it should be responsible for just a single, well-defined functionality.
-
A.
DRY principle
The DRY (Don't Repeat Yourself) principle is a software development guideline that emphasizes reducing repetition by centralizing logic and data to improve maintainability and reduce errors.
-
B.
Clean Architecture
Clean Architecture is a software design philosophy and set of principles, popularized by Robert C. Martin, that emphasizes separation of concerns, testability, and independence from frameworks, databases, and user interfaces.
-
C.
Chain of Responsibility
Chain of Responsibility is a behavioral design pattern that decouples senders and receivers by passing a request along a chain of potential handlers until one of them processes it.
-
D.
Design Patterns: Elements of Reusable Object-Oriented Software
Design Patterns: Elements of Reusable Object-Oriented Software is a seminal software engineering book by the "Gang of Four" that catalogues foundational object-oriented design patterns widely used in software development.
-
E.
Model-View-Controller
Model-View-Controller (MVC) is a software architectural pattern that separates an application into three interconnected components—model, view, and controller—to improve modularity, testability, and maintainability.
- F. None of above. chosen
Statements (47)
| Predicate | Object |
|---|---|
| instanceOf |
object-oriented design principle
ⓘ
software design principle ⓘ |
| aimsTo |
improve maintainability
ⓘ
improve testability ⓘ increase cohesion ⓘ reduce coupling ⓘ simplify code comprehension ⓘ |
| alsoKnownAs | SRP ⓘ |
| appliesTo |
classes
ⓘ
functions ⓘ microservices ⓘ modules ⓘ services ⓘ |
| category |
code quality guideline
ⓘ
software engineering principle ⓘ |
| clarifiedAs | one reason to change, not one task to perform ⓘ |
| contrastsWith |
highly coupled modules
ⓘ
multifunctional classes ⓘ |
| encourages |
clear module boundaries
ⓘ
single-purpose interfaces ⓘ small focused classes ⓘ |
| focusesOn | separation of concerns ⓘ |
| formulatedBy | Robert C. Martin ⓘ |
| hasConsequence |
easier debugging
ⓘ
more stable public APIs ⓘ reduced side effects ⓘ |
| hasDefinition |
A class or module should have only one reason to change.
ⓘ
A software module should have one, and only one, responsibility. ⓘ |
| helpsWith |
change impact isolation
ⓘ
code reuse ⓘ refactoring ⓘ unit testing ⓘ |
| introducedIn | early 2000s ⓘ |
| partOf | SOLID principles ⓘ |
| promotedIn |
Agile software development
ⓘ
Clean Code practices ⓘ |
| relatedTo |
Dependency Inversion Principle
ⓘ
Interface Segregation Principle ⓘ Liskov Substitution Principle ⓘ Open-Closed Principle ⓘ
surface form:
Open/Closed Principle
|
| usedIn |
clean architecture
ⓘ
domain-driven design ⓘ layered architecture ⓘ microservice architecture ⓘ object-oriented programming ⓘ |
| violatedBy |
anemic domain model with mixed responsibilities
ⓘ
god object ⓘ |
How these facts were elicited
The pipeline generated the facts above by prompting gpt-5.1 with this entity's name + description and the instruction below.
You are a knowledge base construction expert. Given a subject entity and a description of it, return factual statements that you know for the subject as a JSON list of dictionaries(triples), where keys must be "subject", "predicate" and "object". The number of facts may be very high, between 25 to 50 or more, for very popular subjects. For less popular subjects, the number of facts can be very low, like 5 or 10. # Requirements - If you don't know the subject at all, return an empty list. - If the subject is not a named entity, return an empty list. - Include at least one triple where predicate is "instanceOf". - Do not get too wordy. - Separate several objects into multiple triples with one object.
Subject: Single Responsibility Principle Description of subject: The Single Responsibility Principle is a core object-oriented design guideline stating that a class or module should have only one reason to change, meaning it should be responsible for just a single, well-defined functionality.
Referenced by (3)
Full triples — surface form annotated when it differs from this entity's canonical label.