Mode d’emploi
Un design pattern décrit une solution éprouvée à un problème général et récurrent de conception, dans un contexte particulier (CM p.8). En français : « patron de conception ». Ce n’est ni une classe prête à l’emploi ni une implémentation, mais une description abstraite.
Ce que contient chaque fiche
- L’intention du pattern et une métaphore.
- Le problème, les réflexes qui ne marchent pas, puis la solution.
- Un schéma de l’idée (objets et flux numérotés).
- Le diagramme de classes UML, avec le rôle GoF de chaque classe.
- Le tableau des participants et le code Java.
- Avantages, inconvénients, quand l’utiliser, ce qu’il ne faut pas confondre.
- Vidéos en français et case « Compris » pour suivre votre progression.
Lire les schémas
- Gris : le client.
- Bleu : l’acteur du pattern (créateur, adaptateur, proxy…).
- Vert : le produit ou l’objet réel.
- Orange : une interface.
- Rouge : ce qui est interdit ou à éviter.
- Grisé : une alternative non choisie. Un numéro dans un cercle = l’ordre des appels.
Les diagrammes UML (fond jaune pâle, comme dans le CM2) suivent la notation du cours : tout est expliqué dans le cours UML, plus bas.
Où se rangent ces patterns ? (CM p.14–15, classification GoF)
Ils abstraient le processus d’instanciation (par rapport à l’opérateur new) : le système devient indépendant de la manière dont ses objets sont créés, initialisés et configurés. Utiles quand les classes à utiliser ne sont pas connues à l’avance.
Ils permettent de composer des classes et des objets pour former des structures plus importantes, et réduisent le couplage entre classes (découplage interface / implémentation).
Pattern de classe : relation par héritage, établie statiquement (Méthode de fabrique, Adaptateur de classe). Pattern d’objet : relation par composition, établie dynamiquement, modifiable à l’exécution (tous les autres).
Nouveau : apprendre et s’entraîner sur l’UML
Les diagrammes de patterns utilisent la notation UML du CM2. Si elle n’est pas encore automatique, commencez par le cours UML (16 leçons : classes, visibilité, dépendance, association, multiplicités, agrégation/composition, héritage, interface…) puis faites les 6 exercices où il faut tout replacer correctement.
Pour commencer : une vidéo d’introduction
Cours UML : le diagramme de classes
Toute la notation du CM2 « Diagramme de classes », leçon par leçon : comment écrire une classe, ses attributs et opérations, la visibilité, puis chaque type de lien avec sa flèche, ses multiplicités et ses rôles. Chaque notion a son diagramme et sa référence de page. À lire avant les patterns si la notation vous pose problème.
Vue d’ensemble
Les 16 leçons
S’entraîner : tout replacer correctement
Six exercices pour vérifier que vous savez écrire, lire et placer chaque élément UML : assembler une classe, remettre la syntaxe dans l’ordre, nommer les flèches, replacer les multiplicités, puis construire un diagramme complet à partir d’un énoncé. Tout se fait au glisser-déposer ou, sur écran tactile, en touchant un élément puis sa destination.
Patterns de création
Ils offrent une grande flexibilité sur ce qui doit être créé, qui doit le créer, comment et quand (CM p.18). Le cours en traite trois (Méthode de fabrique, Fabrique abstraite, Singleton) avec le même fil rouge : un éditeur de texte qui supporte plusieurs look-and-feel.
Patterns de structure
Ils s’intéressent à la manière dont les classes et les objets sont composés pour former des structures plus importantes, et rendent le système plus robuste face à un type particulier de changement structurel (CM p.55). Le cours en traite cinq (Façade, Adaptateur, Procuration, Décorateur, Composite), toujours sur l’éditeur de texte (Glyph, Picture…).
Comparatifs et aide-mémoire
Beaucoup de patterns se ressemblent par leur structure : c’est l’intention qui les distingue. Les cinq premiers comparatifs viennent des slides du cours quand elles existent.
Quel pattern pour quel besoin ?
Auto-test
Seize questions pour vérifier que vous reconnaissez chaque pattern à partir d’un besoin, et que vous lisez correctement l’UML. Les réponses sont mélangées à chaque essai.