SOLID

acronym

programming

Stands for: single responsibility, open-closed, Liskov substitution, interface segregation, dependency inversion

The five object-oriented design principles assembled by Robert C. Martin, arranged into an acronym by Michael Feathers.

Single responsibility, open-closed, Liskov substitution, interface segregation, and dependency inversion together aim code at the same target: modules you can change without a chain reaction. The principles predate the acronym; the mnemonic is what made them a checklist. Applied with judgment they produce flexible designs; applied as dogma they produce fifteen interfaces per class, which is its own violation of the spirit.

All glossary entries