Upload
sidaouifahmi
View
172
Download
0
Embed Size (px)
Citation preview
Factory PatternDesign Patterns
SIDAOUI Abdelfahem Email: [email protected] http://www.sidaoui.tk
réalisé par:
La fabrique (factory) est un patron de conception de création utilisé en programmation orientée objet. Comme les autres modèles de création, la fabrique a pour rôle l'instanciation d'objets divers dont le type n'est pas prédéfini : les objets sont créés dynamiquement en fonction des paramètres passés à la fabrique.
Introduction
Bien que la principale utilisation de la Fabrique soit d'instancier dynamiquement des sous-classes, elle possède d'autres avantages qui ne sont pas liés à l'héritage des classes.
On peut donc écrire des fabriques qui ne font pas appel au polymorphisme pour créer plusieurs types d'objets (on fait alors appel à des méthodes statiques).
Avantages et variantes
Les fabriques sont utilisées dans les toolkits ou les frameworks, car leurs classes sont souvent dérivées par les applications qui les utilisent.
Des hiérarchies de classes parallèles peuvent avoir besoin d'instancier des classes de l'autre.
Utilisation
Le monde logiciel change!!!
Un logiciel informatique qui respecte les normes évolue au cours du temps par apport aux différents changements que la technologie peut subir
Le problème est parfois comment je peux changer d’implémentations rapidement
Problématique
Les développeurs ne font pas attention à la manière avec laquelle se fait la création d’objets
Une instanciation classique avec le mot clé new entraine un couplage fort
Il faut trouver un moyen pour changer de stratégie d’instanciation et alléger le couplage entre les objets
Problématique
Design Pattern Factory
Le client est un objet qui requiert une instance d’un autre objet (le produit)
Au lieu de créer une instance du produit
directement, le client délègue cette responsabilité à la fabrique de classe
Le client utilise la fabrique pour créer une instance du produit
Design Pattern Factory
Le diagramme de classe suivant permet de mieux comprendre comment fonctionne le pattern Factory
Diagramme de classe
Le Créateur est une classe abstraite qui contient les méthodes qui vont manipuler le produit.
Les Créateurs Concrets permettent de créer des produits concrets.
Diagramme de classe
Exemple
Exemple (Implémentation)
Exemple (Implémentation)
Merci pour votre attention