Back to Glossary
Metrics & Architecture

SOLID Principles

Five design principles for object-oriented programming that promote maintainable, flexible, and understandable code: Single Responsibility, Open-Closed, Liskov Substitution, Interface Segregation, and Dependency Inversion.

Definition

SOLID is an acronym for: Single Responsibility (a class should have one reason to change), Open-Closed (open for extension, closed for modification), Liskov Substitution (subtypes must be substitutable for base types), Interface Segregation (many specific interfaces are better than one general), and Dependency Inversion (depend on abstractions, not concretions). These principles were promoted by Robert Martin.

Why It Matters

SOLID principles reduce coupling, increase cohesion, and make code easier to test, maintain, and extend. Violations often lead to fragile code where changes cascade unexpectedly. Code review tools like diffray can flag SOLID violations in architecture reviews.

Example

Violating Single Responsibility: a UserService that handles authentication, database operations, and email sending. Following SOLID: separate AuthService, UserRepository, and EmailService classes.

Related Terms

SOLIDSOLID principleswhat is SOLIDSOLID OOPsingle responsibility

Automate Code Review with diffray

Multi-agent AI system for code review. Automatically finds bugs, security vulnerabilities, and architecture issues.