Design patterns - factory pattern

Preview:

Citation preview

Factory PatternDesign Patterns

SIDAOUI Abdelfahem Email: Abdelfahem20@gmail.com 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

Recommended