Open/Closed Principle

PHP 🟡 Mid

Définition

Les entités logicielles doivent être ouvertes a l'extension mais fermées a la modification. On ajoute du comportement sans toucher au code existant.

Analogie

Comme une multiprise : on peut brancher de nouveaux appareils sans modifier l'installation électrique.

Exemple de code

interface Discount {
  public function calculate(float $price): float;
}
class StudentDiscount implements Discount {
  public function calculate(float $price): float {
    return $price * 0.8;
  }
}
// Ajout sans modifier le code existant

Cas d'usage

Quand un système doit évoluer fréquemment : nouveaux types de paiement, nouvelles règles métier.

Anti-pattern

Ajouter des if/elseif a chaque nouvelle fonctionnalité dans une méthode existante.
#core#interview#solid

← → au clavier pour passer d'une fiche à l'autre