Structure des Patterns

 Structure des Patterns

Un pattern est décrit par des propriétés qui expliquent sa raison d’être. Pour GOF, la liste suivante permet de structurer un pattern : – Nom : Identifie le patron. – Classification : Permet d’organiser les patrons selon deux critères. Le rôle qui traduit ce que font le patron (création, structuration, comportement), et le domaine qui précise si le patron s’applique en général à une ou plusieurs classes ou objets. – Intention : Précise le problème de conception soulevé par le patron. – Alias : Donne d’autres noms connus pour le patron. – Motivation : Présente un scénario d’application du patron posant son problème dans un contexte particulier. Elle permet de mieux comprendre l’intérêt et la solution du patron. – Indications d’utilisation : Reconnaît des situations dans lesquelles le patron peut être utilisé. – Structure : Représente les classes participant dans la solution du patron et montre leurs interactions dans des diagrammes OMT. – Constituants : Définit les classes et/ou objets participants ainsi que leurs responsabilités. – Collaboration : Discute la manière dont les constituants collaborent pour assumer leurs responsabilités. – Conséquences : Décrit comment le patron réalise ses objectifs et présente les résultats, compromis et impacts de l’application de la solution du patron. – Implantation : Explique la technique d’implémentation du patron. Elle présente les pièges existants et propose des solutions types en fonction du langage utilisé, si elles existent. – Exemple de code : Donne des parties de code illustrant la solution du patron. – Utilisations remarquables : Présente des imitations du patron considéré dans des applications connues (dans des Framework, par exemple). – Patrons apparentés : Référence d’autres patrons utilisant ou utilisés par celui-ci.

Abstract factory

Le design pattern Fabrique définit une interface pour la création d’un objet en déléguant à ses sous-classes le choix des classes à instancier. Tableau 2.3: Pattern Abstract factory Abstract factory Intention. Fournit une interface pour la création de familles d’objets apparentés ou interdépendants, sans qu’il soit nécessaire de spécifier leurs classes concrètes. Indications d’utilisation. Le Patron Fabrique est utilisé lorsque : – un système doit être indépendant de la façon dont ses produits ont été créés, combinés, et représentés. – un système doit être constitué à partir d’une famille de produits, parmi plusieurs. – on souhaite renforcer le caractère communautaire d’une famille d’objets conçus pour être utilisés ensemble. – on souhaite fabriquer une bibliothèque de classes, en n’en révélant que l’interface et non l’implémentation Structure. Participants – AbstractFactory : Déclare une interface contenant les opérations de création d’objets AbstractProduct – ConcreteFactory : Implémente les opérations de création d’objets produits concrets – AbstractProduct : Déclare une interface pour un type d’objet produit. – ConcreteProduct : Définit un objet produit qui doit être créé par la fabrique concrète correspondante. Implémente l’interface de AbstractProduct. – Client : N’utilise que les interfaces déclarées par les classes AbstractFactory et AbstractProduct. 

Builder

Le Pattern monteur permet d’isoler des variations de représentations d’un objet. Il permet de créer des objets complexes à partir d’autres objets c’est-à-dire assembler plusieurs objets pour les « monter » et n’en faire qu’un. Tableau 2.4: Pattern Builder Builder Intention. Dissocie la construction d’un objet complexe de sa représentation, de sorte que le même processus de construction permette des représentations différentes. Indications d’utilisation. Le Patron Monteur est utilisé lorsque : – l’algorithme de création d’un objet complexe doit être indépendant des parties qui composent l’objet et de la manière dont ces parties sont agencées, – le processus de construction doit autoriser des représentations différentes de l’objet en construction Structure. Participants – Builder : Spécifie une interface abstraite pour la création de parties d’un objet Produit. – ConcreteBuilder : Construit et assemble des parties du produit par implémentation de l’interface Builder. Définit la représentation qu’il crée et en conserve la trace. Fournit une interface pour la récupération du produit final – Director : Construit un objet en utilisant l’interface de Builder. – Product : Surcharge la fabrique pour renvoyer une instance d’un ProduitConcret 

Factory Method

Le pattern Méthode Fabrique permet l’instanciation d’objets non définis dans une classe concrète à partir d’une méthode d’instanciation issue d’une classe abstraite. Tableau 2.5: Pattern Method Factory Method Intention. Définit une interface pour la création d’un objet, mais en laissant à des sous-classes le choix des classes à instancier. La Fabrique simple permet à une classe de déléguer l’instanciation à des sous-classes. Indications d’utilisation. Le Patron Méthode Fabrique est utilisé lorsque : – une classe ne peut prévoir la classe des objets qu’elle aura à créer. – une classe attend de ses sous-classes qu’elles spécifient les objets qu’elles créent. – les classes délèguent des responsabilités à une de leurs nombreuses sous-classes assistantes, et que l’on veut disposer localement de l’information permettant de connaître la sous-classe assistante qui a reçu cette délégation Structure. Participants – Product : Définit l’interface des objets créés par la fabrique. – ConcreteProduct: Implémente l’interface Produit. – Creator : Déclare une fabrique ; celle-ci renvoie un objet de type Produit. Le Créateur peut également définir une implémentation par défaut de la fabrique, qui renvoie un objet ConcreteProduct par défaut. Peut appeler la fabrique pour créer un objet Produit – ConcreteCreator : Surcharge la fabrique pour renvoyer une instance d’un ConcreteProduct

Formation et coursTélécharger le document complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *