| Understand how Drupal embodies SOLID |
Overview |
| Keep services focused on single responsibilities |
Services & SRP |
| Split fat controllers into services |
Controllers & SRP |
| Organize Drupal 11 OOP hook classes |
Hook Classes & SRP |
| Use plugins to extend without modification |
Plugin System & OCP |
| Use hooks and events for extension |
Hooks & Events & OCP |
| Override config safely |
Config Overrides & OCP |
| Understand entity hierarchy substitutability |
Entity Hierarchy & LSP |
| Choose the right form base class |
Form Hierarchy & LSP |
| Combine access results correctly |
Access Results & LSP |
| Design role-based interfaces |
Entity Interfaces & ISP |
| Use correct injection interfaces |
Injection Interfaces & ISP |
| Depend on abstractions not implementations |
Service Container & DIP |
| Inject dependencies correctly |
Dependency Injection Patterns & DIP |
| Avoid static service calls |
Anti-Patterns & DIP |
| Structure a module following SOLID |
Module Architecture |
| Review code for SOLID compliance |
Best Practices Checklist |
| Identify SOLID violations |
Common Mistakes |
| Find core examples of each principle |
Code Reference Map |