Design patterns :
création et structure

Chaque pattern expliqué avec un schéma, un diagramme de classes UML dans la notation du CM2, du code Java et des vidéos en français. Construit à partir de vos deux cours CyTech.

5 patterns de création 7 patterns de structure 8 au programme du CM 4 en complément Cours UML + 6 exercices
🗺️ Aventure ⚡ QCM

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)

Patterns de création

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.

Patterns de structure

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).

Portée : classe ou objet ?

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.