Single Responsibility Principle
PHP 🟡 MidDéfinition
Une classe ne doit avoir qu'une seule raison de changer. Chaque classe se concentre sur une seule responsabilité métier.
Analogie
Comme un employé spécialisé : le cuisinier cuisine, le serveur sert, le caissier encaisse.
Exemple de code
// Mauvais: une classe qui fait tout
// class User { save(), sendEmail(), generatePDF() }
// Bon: responsabilites separees
class UserRepository { public function save(User $u) {} }
class UserMailer { public function welcome(User $u) {} }
class UserExporter { public function toPDF(User $u) {} }
Cas d'usage
Toujours : chaque classe créée doit avoir une responsabilité claire et unique.
Anti-pattern
La God Class de 2000 lignes qui gère les données, l'affichage, les emails et les logs.