Une classe ne devrait avoir qu’une seule raison de changer.
// Mauvaise classe Utilisateur { public function saveUser ($ data) { /* ... */ } public function generateReport() { /* ... */ } public function sendEmail() { /* ... */ } } // Bonne classe Utilisateur { fonction publique save($data) { /* ... */ } } classe UserReportGenerator { fonction publique generate() { /* ... */ } } classe UserNotifier { fonction publique sendEmail() { /* ... */ } }