Basic Principles :
- Maintainability
- Extensibility
- Modularity
SOLID, GRASP, and Other Basic Principles of Object-Oriented Design
- Single Responsibility Principle (SOLID)
- High Cohesion (GRASP)
- Low Coupling (GRASP)
- Open Closed Principle (SOLID)
- Liskov Substitution principle (SOLID)
- Interface Segregation Principle (SOLID)
- Dependency Inversion Principle (SOLID)
- Program to an Interface, not to an Implementation
- Hollywood Principle
- Polymorphism (GRASP)
- Information Expert (GRASP)
- Creator (GRASP)
- Pure Fabrication (GRASP)
- Controller (GRASP)
- Favor composition over inheritance
- Indirection (GRASP)
Do not apply all of the principles at once, read reference.
Read Me : (Reference)
https://dzone.com/articles/solid-grasp-and-other-basic-principles-of-object-o#:~:text=Open%20Closed%20Principle%20(SOLID),Dependency%20Inversion%20Principle%20(SOLID)