Académique Documents
Professionnel Documents
Culture Documents
Badr Hirchoua
badr.hirchoua@gmail.com
06/10/2022
2
Design Patterns
3
Plan
I. Définition
1. Nom et classification
2. Intention (une phrase)
3. Alias (Autres dénominations)
4. Motivation (scénario qui illustre le problème traité)
5. Indication d’utilisation (conditions et contexte d’application)
6. Structure (représentation graphique des classes)
7. Constituants (description des rôles)
18
IV. Description d’un Design Pattern
6. Structure
– modèle de classe,
– (modèle de collaboration).
– (notation OMT à l’origine, UML aujourd’hui)
7. Constituants
– Description des classes et des objets intervenant dans la collaboration
8. Collaboration
– Collaboration entre constituants pour assurer les responsabilités
9. Conséquences
– impacts sur l’architecture de conception
– « degrés de liberté » laissés par le patron
– compromis éventuels
21
IV. Description d’un Design Pattern
10. Implémentation
– techniques particulières
– spécificités du langage de programmation
11. Exemples de code
– extraits de programmes
12. Utilisations remarquables
– exemples appartenant à des systèmes existants
13. Patterns proches
– modèles en étroite relation
– différences importantes
– utilisation conjointe d’autres modèles
22
IV. Description d’un Design Pattern
Les Designs Patterns les plus évolués se basent sur les bonnes
pratiques de la POO et tirent partie principalement de:
– L’abstraction/ Encapsulation
– Héritage
– Du polymorphisme
utilisent très souvent:
– La délégation
– La composition
Notations du langage UML!!
23
Résumé
24
Qu’est-ce qu’un patron de conception ?
▪Les patrons sont souvent confondus avec les algorithmes, car ils décrivent
tous deux des solutions classiques à des problèmes connus. Un algorithme
définit toujours clairement un ensemble d’actions qui va vous mener vers
un objectif, alors qu’un patron, c’est la description d’une solution à un plus
haut niveau. Le code utilisé pour implémenter un même patron peut être
complètement différent s’il est appliqué à deux programmes distincts.
▪Un algorithme c’est un peu comme une recette de cuisine, ses étapes sont
claires et vous guident vers un objectif précis. Un patron, c’est plutôt
comme un plan : vous pouvez voir ses fonctionnalités et les résultats
obtenus, mais la manière de l’implémenter vous revient.
26
Que trouve-t-on dans un patron de conception ?
▪La majorité des patrons sont présentés de façon très générale, afin qu’ils
soient reproductibles dans tous les contextes. Voici les différentes sections
que vous retrouverez habituellement dans la description d’un patron :
• L’Intention du patron permet de décrire brièvement le problème et la
solution.
• La Motivation explique en détail la problématique et la solution
offerte par le patron.
• La Structure des classes montre les différentes parties du patron et
leurs relations.
• L’Exemple de code écrit dans un des langages de programmation les
plus populaires facilite la compréhension générale de l’idée derrière le
patron.
27
Le catalogue des
patrons de conception
28
Le catalogue des patrons de conception
▪Patrons de création
• Ces patrons fournissent des mécanismes de création d’objets qui augmentent
la flexibilité et la réutilisation du code.
▪Patrons structurels
• Ces patrons vous guident pour assembler des objets et des classes en de
plus grandes structures tout en gardant celles-ci flexibles et efficaces.
▪Patrons comportementaux
• Ces patrons s’occupent des algorithmes et de la répartition des
responsabilités entre les objets.
29
Patrons structurels
33
Patrons comportementaux
34
Patrons comportementaux