Aller au contenu

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.


Voir aussi