Five principles for building software that is easy to understand, extend, and maintain. They reduce coupling, increase cohesion, and make code testable.
| SRP | One reason to change | "This class handles X and Y and Z" | | OCP | Add, don't modify | Growing if/else or switch chains for types | | LSP | Subtypes are substitutable | Type-checking or special-casing in calling code | | ISP | Small, focused interfaces | Empty method implementations or throw new Error("Not implemented") |
| DIP | Depend on abstractions | new ConcreteClass() inside business logic |
Appliquez les principes SOLID pour écrire du code flexible, maintenable et testable. À utiliser lors de la conception de classes, d'interfaces et de limites de modules. Couvre Simple Responsabilité, ouvert/fermé, substitution Liskov, ségrégation d'interface et Inversion de dépendances avec des exemples pratiques de TypeScript et des heuristiques de détection. Source : fellipeutaka/leon.