Vous êtes sur la page 1sur 28

Les Patrons De

conception
<<Design patterns »
PLAN

INTRODUCTION 01 04 PATTERN STRATEGY

LE BUT EXEMPLE
D'UTILISATION 02 05 CONCRETE

TYPES DE
PATRONS DE 03 06 CONCLUSION
CONCEPTION
INTRODUCTION
-L'utilisation
actuelle vient des travaux de l'architecte
Christopher Alexander (né le 4 octobre 1936 à Vienne en
Autriche).

-Alexander a étudié les manières d'améliorer le processus de


conception de bâtiments et des zones urbaines

- Chaque patron est une règle en 3 parties, qui exprime une


relation entre un certain contexte, un problème et une solution.”

- La définition habituelle d'un patron est : “Une solution à un


problème dans un contexte.”
02
LE BUT
D'UTILISATION
POURQUOI UTILISE LES PATRONS :

- Les concepteurs expérimentés réutilise des solutions


qui ont fonctionné dans le passé,

- Les systèmes orientés-objet bien structurés suivent


des patrons récurrents pour les classes et objets,

- Les patrons qui ont fonctionné dans le passé


permettent d'être plus productif. Les conceptions qui
en résultent sont plus flexibles et réutilisables.

- "Concevoir un logiciel orienté-objet est difficile, et


concevoir un logiciel orienté-objet réutilisable est
encore plus difficile." - Erich Gamma,(né en 1961 à
Zurich.)
03
TYPES DE PATRONS DE
CONCEPTION
Classification du Gang of Four « GoF » pour les patrons de conception
On distingue trois familles de patrons de conception selon leur
utilisation :
Patrons de Patrons de Patrons de comportement
création structure
- Fabrique - Adaptateur - Chaine de responsabilité
- Fabrique abstraite - Objet composite -Interpréteur
- Monteur - Décorateur - Itérateur
- Prototype - Façade -Médiateur
- Singleton -Poids-mouche - Memento
- Proxy - Observateur
- Etat
- Stratégie
- Patron de méthode
-Visiteur

Les 4 auteurs du livre (Erich Gamma, Richard Helm, Ralph


Johnson et John Vlissides).
04
PATTERN
STRATEGY
PATTERN STRATEGY: ​

Objectif du Raison d’utilisation : Résultat


Pattern Un objet doit Le Design Pattern
pouvoir faire permet d’isoler les
Définir une famille
varier une algorithmes
d’algorithmes et encapsuler
partie de son appartenant à une
chacun et les rendre
algorithme même famille
interchangeables tout en
dynamiquemen d’algorithmes
assurant que chaque
algorithme puisse évoluer t
indépendamment des clients
qui l’utilisent .
PATTERN STRATEGY: ​​

FIGURE 1: Architecture De La Solution


PATTERN STRATEGY: ​Implémentation sans pattern
Classe Context :
PATTERN STRATEGY: ​Implémentation sans pattern
Classe Appli :
PATTERN STRATEGY: ​Implémentation Avec pattern
Classe Context:
PATTERN STRATEGY: ​Implémentation Avec pattern
Interface Strategy :

Classe StrategyImp1 :
PATTERN STRATEGY: ​Implémentation Avec pattern
Classe StrategyImp2 :

Classe StrategyImp3 :
PATTERN STRATEGY: ​Implémentation Avec pattern
Classe Appli :
PATTERN STRATEGY: ​Implémentation Avec pattern
Exécution :
05
Exemple
concrete
PROBLEM VS. SOLUTION

Problem Solution
Exemple
vous naviguez sur un site d'e- quelle sont les méthodes que Il est possible de payer de
commerce de votre choix. Un l'utiliser pour acheter (payer) ce différentes manières : directement
article vous intéresse, vous type d'Article ? par carte, par Paypal... La
voulez l'acheter : vous ajoutez au méthode "payer" peut être
panier. Vous ouvrez votre panier, implémentée de différentes
et là, le site vous demande manières : c'est là l'intérêt du
d'effectuer l'action abstraite de Pattern Strategy.
"payer".
Architecture de la solution
Implementation :
interface Strategy
Implementation :
​Classe PaypalStrategy
Implementation :
Classe CarteDeCreditStrategy​

Implementation :
Classe Article
Implementation :
Main()
Implementation :
Main()
Implementation :
Exécution :
Conclusion

Merci Pour
Votre
Attention

Vous aimerez peut-être aussi