SOLID principles
E672060
SOLID principles are a set of five foundational object-oriented design guidelines that promote maintainable, flexible, and scalable software architectures.
All labels observed (2)
| Label | Occurrences |
|---|---|
| SOLID principles canonical | 6 |
| SOLID design principles | 1 |
Statements (47)
| Predicate | Object |
|---|---|
| instanceOf |
object-oriented design guideline set
ⓘ
software design principle set ⓘ |
| acronymFor | Single Responsibility Open–Closed Liskov substitution Interface segregation Dependency inversion ⓘ |
| aimsTo |
promote flexible software architectures
ⓘ
promote maintainable software architectures ⓘ promote scalable software architectures ⓘ |
| appliesTo |
API design
ⓘ
class design ⓘ component design ⓘ object-oriented architecture ⓘ |
| associatedWith | Robert C. Martin NERFINISHED ⓘ |
| category | best practices in software design ⓘ |
| consistsOf |
Dependency Inversion Principle
NERFINISHED
ⓘ
Interface Segregation Principle NERFINISHED ⓘ Liskov Substitution Principle NERFINISHED ⓘ Open–Closed Principle NERFINISHED ⓘ Single Responsibility Principle NERFINISHED ⓘ |
| describedIn | software engineering literature ⓘ |
| emphasizes |
abstraction
ⓘ
encapsulation ⓘ polymorphism ⓘ separation of concerns ⓘ |
| field |
object-oriented programming
ⓘ
software engineering ⓘ |
| goal |
facilitate change in software systems
ⓘ
improve software quality ⓘ reduce software complexity ⓘ |
| influencedBy | object-oriented programming paradigm ⓘ |
| popularizedBy | Robert C. Martin NERFINISHED ⓘ |
| promotes |
extensibility
ⓘ
high cohesion ⓘ low coupling ⓘ readability ⓘ reusability ⓘ testability ⓘ |
| relatedTo |
GRASP principles
ⓘ
clean code ⓘ design patterns ⓘ |
| timePeriod | early 2000s popularization ⓘ |
| typicalContext |
object-oriented languages such as C#
ⓘ
object-oriented languages such as C++ ⓘ object-oriented languages such as Java ⓘ object-oriented languages such as Python ⓘ |
| usedIn |
agile software development practices
ⓘ
clean architecture ⓘ domain-driven design ⓘ enterprise application development ⓘ |
Referenced by (7)
Full triples — surface form annotated when it differs from this entity's canonical label.
this entity surface form:
SOLID design principles
subject surface form:
Robert C. Martin