12
Command Design Patterns

Design patterns - command pattern

Embed Size (px)

Citation preview

Page 1: Design patterns - command pattern

CommandDesign Patterns

Page 2: Design patterns - command pattern

SIDAOUI Abdelfahem Email: [email protected] http://www.sidaoui.tk

réalisé par:

Page 3: Design patterns - command pattern

Commande est un patron de conception de type comportemental qui encapsule la notion d'invocation. Il permet de séparer complètement le code initiateur de l'action, du code de l'action elle-même.

Introduction

Page 4: Design patterns - command pattern

Encapsuler une requête sous la forme d'objet.

Paramétrer facilement des requêtes diverses.

Permettre des opérations réversibles.

Objectifs

Page 5: Design patterns - command pattern

Le système doit traiter des requêtes. Ces requêtes peuvent provenir de plusieurs émetteurs.

Plusieurs émetteurs peuvent produire la même requête.

Les requêtes doivent pouvoir être annulées. Cela peut être le cas d'une IHM avec des

boutons de commande, des raccourcis clavier et des choix de menu aboutissant à la même requête.

Raison d’utilisation:

Page 6: Design patterns - command pattern

La requête est encapsulée dans un objet : la commande.

Chaque commande possède un objet qui traitera la requête : le récepteur.

La commande ne réalise pas le traitement, elle est juste porteuse de la requête.

Les émetteurs potentiels de la requête (éléments de l'IHM) sont des invoqueurs.

Plusieurs invoqueurs peuvent se partager la même commande.

Raison d’utilisation:

Page 7: Design patterns - command pattern

Diagramme de classes

Page 8: Design patterns - command pattern

Commande : définit l'interface d'une commande.

CommandeA et CommandeB : implémentent une commande. Chaque classe implémente la

méthode executer(), en appelant des méthodes de l'objet Recepteur.

Invoqueur : déclenche la commande. Il appelle la méthode executer() d'un objet Commande.

Responsabilités

Page 9: Design patterns - command pattern

Recepteur : reçoit la commande et réalise les

opérations associées. Chaque objet Commande concret possède un lien avec un objet Recepteur.

La partie cliente configure le lien entre les objets Commande et le Recepteur.

Responsabilités

Page 10: Design patterns - command pattern

Implémentation

Page 11: Design patterns - command pattern

Implémentation

Page 12: Design patterns - command pattern

Merci pour votre attention