Design Patterns: Simple Factory en PHP
Le design patterns Simple factory génère une instance d’un objet pour le client sans exposer aucune implémentation au client. Dans la POO, le factory est un objet pour créer d’autres objets.
Exemple concret
Par exemple, si nous avons 3 types de voitures et que nous voulions créer une usine qui créerait les classes de voitures pour nous.
On peut commencer par une interface pour définir une voiture.
<?php interface Car { } ?>
Ensuite, chaque voiture implémentera cette interface.
<?php class Audi implements Car { } class BM implements Car { } class Mercedes implements Car { } ?>
Ensuite, nous créerons l’usine pour fabriquer ces classes de voitures.
<?php class CarFactory { public function makeAudi() : Car { return new Audi; } public function makeBM() : Car { return new BM; } public function makeMercedes() : Car { return new Mercedes; } } ?>