Blog ENI : Toute la veille numérique !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
💥 Du 22 au 24 novembre : Accès 100% GRATUIT
à la Bibliothèque Numérique ENI. Je m'inscris !
  1. Livres et vidéos
  2. Design Patterns en PHP
  3. Introduction aux design patterns de construction
Extrait - Design Patterns en PHP Les 23 modèles de conception : descriptions et solutions illustrées en UML2 et PHP (2e édition)
Extraits du livre
Design Patterns en PHP Les 23 modèles de conception : descriptions et solutions illustrées en UML2 et PHP (2e édition)
2 avis
Revenir à la page d'achat du livre

Introduction aux design patterns de construction

Présentation

Les design patterns de construction ont pour vocation d’abstraire les mécanismes permettant de créer des objets. Un système utilisant ces design patterns devient indépendant de la façon dont les objets sont créés et, en particulier, des mécanismes d’instanciation des classes concrètes.

Ces design patterns encapsulent l’utilisation des classes concrètes et favorisent ainsi l’utilisation des interfaces dans les relations entre objets, augmentant les capacités d’abstraction dans la conception globale du système.

Ainsi, le design pattern Singleton permet de construire une classe possédant au maximum une instance. Le mécanisme gérant l’accès unique à cette seule instance est entièrement encapsulé dans la classe. Il est transparent pour les clients de cette classe.

Problèmes liés à la création d’objets

1. Problématique

Dans la plupart des langages à objets, la création d’objets se fait grâce au mécanisme d’instanciation qui consiste à créer un nouvel objet par appel de l’opérateur new paramétré par une classe (et éventuellement des arguments du constructeur de la classe dont le but est de donner aux attributs leur valeur initiale). Un tel objet est donc une instance de cette classe.

Les langages les plus utilisés aujourd’hui comme PHP, Java, C++ ou C# utilisent le mécanisme de l’opérateur new.

En PHP, une instruction de création d’un objet s’écrit ainsi :

$objet = new Classe(); 

Dans certains cas, il est nécessaire de paramétrer la création d’objets. Prenons l’exemple d’une méthode construitDoc qui crée des documents. Elle peut construire des documents PDF, RTF ou HTML. Généralement le type du document à créer est transmis en paramètre à la méthode sous forme d’une chaîne de caractères, ce qui donne le code suivant :

class ConstructeurDocument 
{ 
    protected Document $resultat; 
    public function construitDoc(string $typeDoc): Document 
    { ...