Single Responsibility | Interface Segregation |
🔸 Only one reason to change 🔸 Only one responsibility |
🔸 Client should not be forced to implement methods it does not use 🔸 Fat Interfaces should be decoupled by its responsibilities |
Open Close | Liskov’s Substitution |
🔸 Close for modification 🔸 Open for extension |
🔸 Extended class should be substitutional with its Base class 🔸 Modification should not affect Base behavier |
Dependency Inversion | |
🔸 Details depend on abstractions | 🔸 Abstractions should not depend on details |
🔸 Only one reason to change
🔸 Only one responsibility
Avoid God classes