SOLID is a popular set of five design principles for object-oriented software development. The principles are: Single Responsibility Principle, which states that a class should have one responsibility; Open/Closed Principle, which states that code should be open for extension but closed for modification; Liskov Substitution Principle, which states that subclasses should not break the functionality of parent classes; Interface Segregation Principle, which states that clients should not depend on interfaces they do not use; and Dependency Inversion Principle, which states that high-level modules should not depend on low-level modules and abstractions should not depend on details.