# SOLID Principles — designpattern.fyi

> Five fundamental principles of object-oriented design for creating maintainable software

- **Section**: SOLID Principles
- **Canonical URL**: https://designpattern.fyi/solid/

---

## Patterns in this Category


### [Dependency Inversion Principle (DIP)](https://designpattern.fyi/solid/dependency-inversion-principle-dip/)
- **Summary**: Depend on abstractions, not concrete implementations — both sides of a boundary point at an interface, not at each other.
- **Subcategory**: principles


### [Interface Segregation Principle (ISP)](https://designpattern.fyi/solid/interface-segregation-principle-isp/)
- **Summary**: Split fat interfaces into focused ones — no class should be forced to implement methods it will never use.
- **Subcategory**: principles


### [Liskov Substitution Principle (LSP)](https://designpattern.fyi/solid/liskov-substitution-principle-lsp/)
- **Summary**: Any subclass must honor its parent&#39;s behavioral contract — swapping one for the other should never break the caller.
- **Subcategory**: principles


### [Open/Closed Principle (OCP)](https://designpattern.fyi/solid/open/closed-principle-ocp/)
- **Summary**: Add new behavior by extending, not by editing — existing tested code stays untouched.
- **Subcategory**: principles


### [Single Responsibility Principle (SRP)](https://designpattern.fyi/solid/single-responsibility-principle-srp/)
- **Summary**: Every class has one reason to change — one responsibility, one job, one concern.
- **Subcategory**: principles



---

## Machine-Readable Resources
- **JSON Feed**: https://www.designpattern.fyi/api/patterns.json
- **OpenAPI 3.1**: https://www.designpattern.fyi/api/openapi.json
- **llms.txt**: https://www.designpattern.fyi/llms.txt
