Retour sur la soirée design pattern et anti pattern en PHP
Présentation théorique des design pattern
La soirée a débuté par une présentation théorique des design pattern par Julien Pauli, avec définition de ce qu'est un design pattern :
Un patron de conception (design pattern) est un arrangement caractéristique de modules, reconnu comme bonne pratique en réponse à un problème de conception d'un logiciel. Il décrit une solution standard, utilisable dans la conception de différents logiciels.
Puis des principes SOLID sur lesquels sont basés les design pattern :
- Single responsability : pas trop de responsabilité pour une seule classe
- Open/Close Principle : ouvert à l’extension, fermé à la modification
- Liskov Substitution : un objet peut utiliser le fils de A sans s’en rendre compte (Héritage strict, et type conservé)
- Dependecy Injection : Si un objet A a besoin d’un objet B , ce dernier doit lui être injecté, il ne doit pas aller le chercher lui-même (donc pas de new Toto à l’intérieur d’une classe)
- Interface aggregation : A ne doit pas utiliser B directement mais une interface de B