Outils pour utilisateurs

Outils du site


helloworld:design_pattern

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
helloworld:design_pattern [2020/02/10 21:11] – Précision sur "Chaîne de responsabilité" roothelloworld:design_pattern [2020/03/02 22:24] (Version actuelle) – Ajout d'un lien pour État root
Ligne 1: Ligne 1:
 =====Gang of four==== =====Gang of four====
 +
 +[[https://rpouiller.developpez.com/tutoriel/java/design-patterns-gang-of-four/|Design Patterns du Gang of Four appliqués à Java]] {{ :helloworld:design_pattern:designpatternsgof.pdf |Archive du 08/11/2019 le 10/02/2020}}
 +
 +{{ :helloworld:design_pattern:design_patterns_-_elements_of_reusable_object-oriented_software.pdf |Design Patterns - Elements of reusable object-oriented software}}
 +
 ====Création==== ====Création====
   * [[helloworld:design_pattern:singleton|Singleton]]   * [[helloworld:design_pattern:singleton|Singleton]]
Ligne 37: Ligne 42:
   * [[helloworld:design_pattern:chain_of_responsibility|Chaîne de responsabilité]]   * [[helloworld:design_pattern:chain_of_responsibility|Chaîne de responsabilité]]
 Permet de construire une chaîne de traitement pour une même requête. L'implémentation peut être sous la forme d'une machine à états finis. Permet de construire une chaîne de traitement pour une même requête. L'implémentation peut être sous la forme d'une machine à états finis.
-  * Commande +  * [[helloworld:design_pattern:command|Commande]] 
-Encapsule l'invocation d'une commande.+Exécuter une commande par l'intermédiaire d'un [[helloworld:design_pattern:command:invocateur|invocateur]]. On peut également implémenter un [[helloworld:design_pattern:command:undomanager|Undomanager]] (undo/redo).
   * Interpréteur   * Interpréteur
 Interpréter un langage spécialisé. Interpréter un langage spécialisé.
   * Itérateur   * Itérateur
 Parcourir un ensemble d'objets à l'aide d'un objet de contexte (curseur). Parcourir un ensemble d'objets à l'aide d'un objet de contexte (curseur).
-  * Médiateur +
-Réduire les dépendances entre un groupe de classes en utilisant une classe Médiateur comme intermédiaire de communication.+
   * Mémento   * Mémento
 Mémoriser l'état d'un objet pour pouvoir le restaurer ensuite. Mémoriser l'état d'un objet pour pouvoir le restaurer ensuite.
 +
   * [[helloworld:design_pattern:observer|Observateur]] / [[helloworld:design_pattern:publish_subscribe|Publier-souscrire]] / [[helloworld:design_pattern:reactor|Reactor]]   * [[helloworld:design_pattern:observer|Observateur]] / [[helloworld:design_pattern:publish_subscribe|Publier-souscrire]] / [[helloworld:design_pattern:reactor|Reactor]]
 Intercepter un évènement pour le traiter. Intercepter un évènement pour le traiter.
Ligne 56: Ligne 61:
 Reactor : proche de l'observateur, ici, Reactor ne transmet pas de message, il exécute directement la méthode. Reactor : proche de l'observateur, ici, Reactor ne transmet pas de message, il exécute directement la méthode.
  
-  * État +  * Médiateur 
-Gérer différents états à l'aide de différentes classes.+Réduire les dépendances entre un groupe de classes en utilisant une classe Médiateur comme intermédiaire de communication. 
 + 
 +Cela peut-être implémenté par le pattern observateur si tous les objets sont indépendants. 
 + 
 +  * [[helloworld:design_pattern:etat|État]] 
 +Une classe gère différents états à l'aide de différentes classes. Il permet de créer des machines à états finis.
  
   * [[helloworld:design_pattern:strategie|Stratégie]]   * [[helloworld:design_pattern:strategie|Stratégie]]
Ligne 80: Ligne 90:
  
 [[helloworld:design_pattern:serialize|Sérialisation ou Marshalling]] : (pattern ?)convertir des données en format binaire et inversement. [[helloworld:design_pattern:serialize|Sérialisation ou Marshalling]] : (pattern ?)convertir des données en format binaire et inversement.
- 
-[[helloworld:design_pattern:command|Commande]] : exécuter une commande, éventuellement par l'intermédiaire d'un [[helloworld:design_pattern:command:invocateur|invocateur]]. On peut également implémenter un [[helloworld:design_pattern:command:undomanager|Undomanager]] (undo/redo). 
  
 [[helloworld:design_pattern:interceptor|Intercepteur]] : ajouter des fonctionnalités, avant et après l'appel d'une méthode et voir pourquoi pas appeler une autre méthode à la place. [[helloworld:design_pattern:interceptor|Intercepteur]] : ajouter des fonctionnalités, avant et après l'appel d'une méthode et voir pourquoi pas appeler une autre méthode à la place.
  
helloworld/design_pattern.1581365518.txt.gz · Dernière modification : 2020/02/10 21:11 de root