15
Factory Pattern Design Patterns

Design patterns - factory pattern

Embed Size (px)

Citation preview

Page 1: Design patterns - factory pattern

Factory PatternDesign Patterns

Page 2: Design patterns - factory pattern

SIDAOUI Abdelfahem Email: [email protected] http://www.sidaoui.tk

réalisé par:

Page 3: Design patterns - factory pattern

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

Page 4: Design patterns - factory pattern

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

Page 5: Design patterns - factory pattern

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

Page 6: Design patterns - factory pattern

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

Page 7: Design patterns - factory pattern

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

Page 8: Design patterns - factory pattern

Design Pattern Factory

Page 9: Design patterns - factory pattern

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

Page 10: Design patterns - factory pattern

Le diagramme de classe suivant permet de mieux comprendre comment fonctionne le pattern Factory

Diagramme de classe

Page 11: Design patterns - factory pattern

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

Page 12: Design patterns - factory pattern

Exemple

Page 13: Design patterns - factory pattern

Exemple (Implémentation)

Page 14: Design patterns - factory pattern

Exemple (Implémentation)

Page 15: Design patterns - factory pattern

Merci pour votre attention