ArjanCodes
22 minutes
The SOLID principles, introduced by Robert C. Martin, are five object-oriented design principles (single responsibility, open-closed, Liskov substitution, interface segregation, dependency inversion) that guide the decomposition of code into focused, loosely coupled, extensible, and testable parts. Refactoring proceeds incrementally by extracting responsibilities behind small abstractions and injecting them as dependencies, and the principles apply in spirit to functional designs as well, as ways of reasoning about responsibilities, dependencies, and isolation rather than classes and inheritance. This belongs to software design and refactoring.