SOLID is a set of five principles for programming that we can apply it to just about any language especially any object-oriented language.
- Single Responsibility Principle (SRP): A class should only have a single responsibility, ie, only changes to one part of the software’s specification should be able to affect the specification of the class
- Open/Closed Principle: Software entities should be open for extension but closed for modification
- Liskov’s Substitution Principle (LSP): Objects in a program should be replaceable with instances of their subtypes without altering the correctness of the program
- Interface Segregation Principle (ISP): Many client-specific interfaces are better than one general-purpose interface
- Dependency Inversion Principle (DIP): One should depend on abstractions, not concretions