SOLID — Principes de conception
Les principes SOLID sont 5 règles fondamentales pour écrire du code orienté objet propre, maintenable et évolutif.
1. Idée simple
SOLID =
5 principes pour un bon design logiciel
2. S — Single Responsibility Principle (SRP)
une classe = une seule responsabilité
class UserService {
void createUser() {}
}
-
Mauvais :
-
gérer utilisateur + email + DB dans la même classe
3. O — Open/Closed Principle (OCP)
ouvert à l’extension, fermé à la modification
interface Payment {
void pay();
}
on ajoute des classes sans modifier l’existant
4. L — Liskov Substitution Principle (LSP)
une sous-classe doit pouvoir remplacer sa classe parent
Animal a = new Dog(); // ✔️ OK
comportement cohérent attendu
5. I — Interface Segregation Principle (ISP)
plusieurs petites interfaces > une grosse
interface Flyable { void fly(); }
interface Swimmable { void swim(); }
évite les méthodes inutiles
6. D — Dependency Inversion Principle (DIP)
dépendre d’abstractions, pas d’implémentations
class Service {
private Repository repo;
}
pas de new direct
7. Résumé
| Principe | Signification |
|---|---|
| S | 1 responsabilité |
| O | ouvert/fermé |
| L | substituable |
| I | interfaces fines |
| D | dépendre d’abstractions |
8. Pièges fréquents
- classes trop grosses
- dépendances directes
- interfaces inutiles
9. Questions classiques
Q1
SRP = ? une responsabilité
Q2
DIP = ? abstraction
Q3
OCP = ? extension sans modification
10. À retenir
- SOLID = base du clean code
- améliore testabilité
- réduit couplage
🧾 En résumé
- 5 principes simples
- design plus propre
- code évolutif
SOLID est essentiel pour écrire du code professionnel.