POURQUOI CE BLOG, POUR QUI ?


POURQUOI CE BLOG, POUR QUI ?
Ce Blog s'adresse à tous ceux qui sont passionnés par les sciences informatiques , Professionnels,Etudiants,Amateurs ...
Les sujets exposés dans la suite se rapporteront essentiellement sur l'analyse informatique,la programmation,le développement ainsi que à l'architecture IT.
QUI SUIS JE ?
Je suis Kangulungu Lubilanji, Consultant-Freelance sur les technologies .NET,C#,ASP.NET ... Contactez moi pour plus d'informations.

Design pattern : 2.Le Pattern Builder

2.Le Pattern Builder
Description: 
Le but pattern Builder est d'abstraire la construction d'objets complexes de leur implantation de sorte qu'un client puisse créer ces objets complexes sans devoir se préoccuper des différentes d’implantation.
Exemple:
Lorsqu'un système veut créer une liasse (une liste donc) de documents comprenant notamment différents types  de documents A,B,C... regroupés dans un même objet.
But: 
Rendre la classe Client indépendante de l'ensemble (architecture), abstraire la construction d'objets complexes de leur implantation.
Solution: 
- On introduit une classe abstraite ConstructeurAbstrait contenant les signatures des méthodes permettant d'ajouter chaque type de document. 
- On introduit une classe abstraite Liasse contenant  un attribut de type liste qui permet de stocker les différents types d'objets, cette classe contient la signature d'une méthode permettant d'ajouter des objets dans la  liste.
Avantages:
- L'objet Client ne doit pas se préoccuper des différences d'implantation.  
Diagramme de classes:

Participants:
ConstructeurAbstrait est la classe introduisant les signatures des méthodes construisant les différentes parties du produit ainsi que la signature de la méthode permettant d'obtenir le produit, une fois celui-ci construit.
ConstructeurConcret  est la classe concrète implantant les méthodes du constructeur abstrait.
Produit  est la classe définissant le produit.Elle peut être abstraite et posséder plusieurs sous-classe concrètes en cas d'implantations différentes.
- Client est la classe chargée de construire le produit au travers de l'interface du constructeur abstrait.
Collaborations:
Le client crée un constructeur concret en fonction du format souhaité et reçois le résultat.
Domaines d'utilisation:
- Un client a besoin de construire des objets complexes sans connaître leur implantation .
- Un client a besoin de construire des objets complexes ayant plusieurs représentations ou implantations  

Aucun commentaire: