There are five essential guidelines that enhance software design, making code more maintainable and scalable. The five principles are as follows:

  1. Single Responsibility Principle (SRP)
  2. Open/Closed Principle
  3. Liskov’s Substitution Principle (LSP)
  4. Interface Segregation Principle (ISP)
  5. Dependency Inversion Principle (DIP)

Reference URL