SOLID
Les 5 principes de conception orientée objet
SOLID est un acronyme introduit par Robert C. Martin au début des années 2000. Il regroupe 5 principes de conception orientée objet qui favorisent un code maintenable et extensible.
| Lettre | Principe | Résumé |
|---|---|---|
| S | Single Responsibility | Une classe = une raison de changer |
| O | Open/Closed | Ouvert à l'extension, fermé à la modification |
| L | Liskov Substitution | Les sous-types doivent être substituables |
| I | Interface Segregation | Interfaces spécialisées plutôt que générales |
| D | Dependency Inversion | Dépendre d'abstractions, pas d'implémentations |
Ces principes s'appliquent en TypeScript aussi bien dans des classes que dans des fonctions ou des composants React. Le terme "classe" peut se lire "module", "composant", ou "fonction" selon le contexte.
Pourquoi SOLID
Le non-respect de ces principes produit du code dit rigide (difficile à modifier), fragile (une modification casse autre chose), ou non-réutilisable (couplage trop fort entre les parties).
SOLID ne garantit pas un bon design, on peut écrire du code SOLID et mauvais. En revanche, violer ces principes de façon systématique produit quasi-systématiquement des problèmes de maintenabilité à moyen terme.