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
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Livres et vidéos
  2. Design Patterns en Java
  3. Introduction aux patterns de construction
Extrait - Design Patterns en Java Descriptions et solutions illustrées en UML 2 et Java (5e édition) - Les 23 modèles de conception
Extraits du livre
Design Patterns en Java Descriptions et solutions illustrées en UML 2 et Java (5e édition) - Les 23 modèles de conception Revenir à la page d'achat du livre

Introduction aux patterns de construction

Présentation

Les patterns de construction ont pour vocation d’abstraire les mécanismes de création d’objets. Un système utilisant ces 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 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 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.

Les 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 Java, C++ ou C# utilisent le mécanisme de l’opérateur new.

En Java, une instruction de création d’un objet peut s’écrire 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 :

public Document construitDoc(String typeDoc) 
{ 
  Document resultat; 
 
  if (typeDoc.equals("PDF")) 
    resultat...