Voici venu le temps des rires, des chants et du dernier article concernant les principes « SOLID », j’ai nommé: la « dependency inversion» ou, pour les anglophobes, l’inversion de dépendance. À ne pas confondre avec l’injection de dépendance, même si on n’en est « pas loin », nous verrons pourquoi. Pour comprendre le principe voyons d’abord ce qu’est réellement […]
Archives de la catégorie : solid
SOLID – I: Interface Segregation
Pour comprendre l’ Interface Segregation. Commençons par la définition de « ségrégation » trouvée dans le Larousse : « Action de mettre à part quelqu’un, un groupe » Ou si l’on regarde la définition d’un point de vue technique: « Séparation en amas distincts d’un ensemble de corps différents préalablement mélangés. » Vous adaptez ceci à la programmation et plus spécifiquement aux […]
SOLID – L: Liskov substitution
« Un carré est un rectangle ». Voilà ce que les gentils professeurs de géométrie nous ont dit. Mais, peut-on en dire de même en orienté objet ? Carre extend Rectangle ? En orienté objet, un rectangle est constitué de 2 attributs : « largeur » et « hauteur » avec leurs « setter » et « getter ». Rien d’incroyable:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
class Rectangle { private $largeur; private $hauteur; public function setHauteur($hauteur) { $this->hauteur = $hauteur; } public function getHauteur() { return $this->hauteur; } public function setLargeur($largeur) { $this->largeur = $largeur; } public function getLargeur() { return $this->largeur; } } |
Un carré, par […]
SOLID – O: Open/Closed
Le deuxième principe de SOLID nous apprend qu’il faut être ouvert à l’extension mais fermé à la modification. Mais qu’est-ce que cela veut bien pouvoir dire ? Comment faire ? Est-ce que c’est possible ? Fermé aux modifications ? Cela veut dire que je ne vais plus modifier mon code ? Comme disait mon bon […]
SOLID – S: Single Responsibility
Nous allons commencer une série d’articles reprenant les gros principes de base en orienté objet. Ce sont 5 points à ne pas rater! Si vous débutez, cela va clairement vous aider à bien structurer votre code. Si vous êtes déjà dans le bain, cela peut vous servir de piqûre de rappel. Nous aurons donc 5 […]