SlideShare une entreprise Scribd logo
1  sur  15
Patron de conception
Chain of Responsibility
Amira Hakim
Dept de Mathématique & Informatique
Université de Souk-Ahras
1
UNIVERSITE MOHAMED CHERIF MESAADIA
SOUK-AHRAS
2
Motivation( Problématique )1/2
3
Considérons une fonction d'aide contextuelle pour une interface
graphique.
L'utilisateur peut obtenir des informations d'aide sur une partie de
l'interface en cliquant simplement dessus.
L'aide qui est fournie dépend de la partie de l'interface concernée et
aussi de son contexte.
Par ex , un bouton d’une boite de dialogue doit avoir des informations
d’aides différentes de celui d’un bouton de l’accueil de l’application.
Si aucune information d'aide existe pour cette partie de l'interface,
alors le système d'aide devrait afficher un message d'aide plus générale
sur le contexte immédiat(la boîte de dialogue dans son ensemble, par
ex).
Motivation( Problématique )2/2
4
Par conséquent, il vaut mieux organiser les information d'aide selon leur
généralité du plus spécifique au plus général.
Une demande d'aide est assurée par l'un des plusieurs objets d'interface
utilisateur ,dont chacun dépend du contexte et spécificité du help.
Le problème ici est que l'objet qui fournit finalement l'aide n’est pas
connu de façon explicite à l'objet (par exemple, le bouton) qui initie la
demande d'aide.
5
Click
6
De quoi a-t-on besoin?
7
Nous avons besoin d'un moyen de découpler le bouton qui déclenche la
demande d'aide des objets qui pourraient fournir des informations
d'aide.
Le patron Chain of Responsibility définit comment cela se passe.
intention
8
Eviter de coupler l’émetteur d’une requête avec son récepteur en
donnant une chance a plusieurs autres objets de gérer cette requête.
La chaine d’objets récepteurs passent la requête jusqu’a ce qu’un objet
gère cette dernière.
Utilité de chain of responsibility
9
Plus d’un objet peut traiter la requête ,mais celui qui vas vraiment gérer
cette requête n’est pas connu a l’avance.
Lorsqu’on veut attribuer la requête a un objet spécifique sans spécifier
le récepteur explicitement.
L’ensemble d’objets qui peuvent traiter la requête doit être spécifié
dynamiquement.
Description
10
Séparer l’émetteur et le récepteur en donnant a plusieurs objets (dans
un certain ordre) une chance a gérer la requête.
La requête est passée jusqu’a ce qu’un objet décide de la prendre en
charge(Handling the request ).
Le 1er objet de la chaine reçoit la requête soie:
il gère cette requête
il fait passer la requête a son successeur dans la chaine .
L’objet qui envoi la requête n’a aucune connaissance explicite de celui
qui va la traiter.
Structure
11
Structure d’un objet typique
Participants
12
Client: initialise une requête a un ConcreteHandler dans une chaine.
Handler: définit l’interface de traitement de requêtes. Il peut ainsi
implémenter des liens de ces successeurs.
ConcreteHandler: traite la requête dont il est responsable, ou passe la
requête a son successeur.
Conséquences
13
Avantages:
Découplement ou séparation de l’émetteur du récepteur.
Plus de flexibilité.
Les émetteurs ne sont pas obligés de savoir les handlers de leurs
requêtes.
Inconvénient:
le client ne peut pas explicitement préciser qui gère une demande.
Aucune garantie sur le traitement de la requête(demande tombe sur
fin de chaîne).
Patrons connexes
14
Le patron chaîne de responsabilité est souvent appliquée en
conjonction avec le patron composite.
D’où, le parent d'un composant peut agir comme son
successeur.
Fin
15
Merci Pour votre Attention!

Contenu connexe

Tendances

introduction à la modélisation objet
introduction à la modélisation objetintroduction à la modélisation objet
introduction à la modélisation objet
Amir Souissi
 

Tendances (20)

DART.pptx
DART.pptxDART.pptx
DART.pptx
 
Présentation resto
Présentation restoPrésentation resto
Présentation resto
 
Fascicule de tp atelier développement web
Fascicule de tp atelier développement webFascicule de tp atelier développement web
Fascicule de tp atelier développement web
 
Diagramme d'activité en UML
Diagramme d'activité en UMLDiagramme d'activité en UML
Diagramme d'activité en UML
 
Cours design pattern m youssfi partie 5 adapter
Cours design pattern m youssfi partie 5 adapterCours design pattern m youssfi partie 5 adapter
Cours design pattern m youssfi partie 5 adapter
 
Rapport PFE Application Web Mobiles belwafi bilel
Rapport PFE Application Web Mobiles belwafi bilelRapport PFE Application Web Mobiles belwafi bilel
Rapport PFE Application Web Mobiles belwafi bilel
 
Etude d'une application de gestion d'une bibliothèque numérique
Etude d'une application de gestion d'une bibliothèque numérique Etude d'une application de gestion d'une bibliothèque numérique
Etude d'une application de gestion d'une bibliothèque numérique
 
Chp3 - Diagramme de Classes
Chp3 - Diagramme de ClassesChp3 - Diagramme de Classes
Chp3 - Diagramme de Classes
 
introduction à la modélisation objet
introduction à la modélisation objetintroduction à la modélisation objet
introduction à la modélisation objet
 
Android-Tp3: fragments et menus
Android-Tp3: fragments et menusAndroid-Tp3: fragments et menus
Android-Tp3: fragments et menus
 
Architecture microservices avec docker
Architecture microservices avec dockerArchitecture microservices avec docker
Architecture microservices avec docker
 
TP1-UML-Correction
TP1-UML-CorrectionTP1-UML-Correction
TP1-UML-Correction
 
Rapport de stage d'été
Rapport de stage d'étéRapport de stage d'été
Rapport de stage d'été
 
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
 
Présentation PFE: Système de gestion des réclamations et interventions clients
Présentation PFE: Système de gestion des réclamations et interventions clientsPrésentation PFE: Système de gestion des réclamations et interventions clients
Présentation PFE: Système de gestion des réclamations et interventions clients
 
PROJET JAVA BD MySQL
PROJET JAVA BD MySQLPROJET JAVA BD MySQL
PROJET JAVA BD MySQL
 
Rapport Projet de Fin d'Etudes
Rapport Projet de Fin d'EtudesRapport Projet de Fin d'Etudes
Rapport Projet de Fin d'Etudes
 
Architectures n-tiers
Architectures n-tiersArchitectures n-tiers
Architectures n-tiers
 
Traitement des images avec matlab
Traitement des images avec matlabTraitement des images avec matlab
Traitement des images avec matlab
 
Rapport-de-perfectionnement-Jasser-Degani.pdf
Rapport-de-perfectionnement-Jasser-Degani.pdfRapport-de-perfectionnement-Jasser-Degani.pdf
Rapport-de-perfectionnement-Jasser-Degani.pdf
 

En vedette

Pw Point Boal2
Pw Point Boal2Pw Point Boal2
Pw Point Boal2
UQAM
 
Les trois temps de la conscience humaine et les trois voies de la souffrance
Les trois temps de la conscience humaine et les trois voies de la souffranceLes trois temps de la conscience humaine et les trois voies de la souffrance
Les trois temps de la conscience humaine et les trois voies de la souffrance
Gabriel Vergara
 
Les conditions de réussite d'une intervention sur la souffrance au travail
Les conditions de réussite d'une intervention sur la souffrance au travailLes conditions de réussite d'une intervention sur la souffrance au travail
Les conditions de réussite d'une intervention sur la souffrance au travail
LACT
 
Souffrance psychique au travail mpgb 09 09 14
Souffrance psychique au travail mpgb 09 09 14Souffrance psychique au travail mpgb 09 09 14
Souffrance psychique au travail mpgb 09 09 14
raymondteyrouz
 

En vedette (20)

Présentation FIMEX - Journées Entrepreneuriat Jeunesse | SJC
Présentation FIMEX - Journées Entrepreneuriat Jeunesse | SJCPrésentation FIMEX - Journées Entrepreneuriat Jeunesse | SJC
Présentation FIMEX - Journées Entrepreneuriat Jeunesse | SJC
 
Pw Point Boal2
Pw Point Boal2Pw Point Boal2
Pw Point Boal2
 
Assia Djebar
Assia DjebarAssia Djebar
Assia Djebar
 
Premonition
PremonitionPremonition
Premonition
 
Comment un président peut sauver sa position
Comment un président peut sauver sa positionComment un président peut sauver sa position
Comment un président peut sauver sa position
 
Motion pour un libéralisme de progrès
Motion pour un libéralisme de progrèsMotion pour un libéralisme de progrès
Motion pour un libéralisme de progrès
 
Pensées et pratiques féministes aujourd’hui
Pensées et pratiques féministes aujourd’huiPensées et pratiques féministes aujourd’hui
Pensées et pratiques féministes aujourd’hui
 
En 2014, oser la gratitude !
En 2014, oser la gratitude !En 2014, oser la gratitude !
En 2014, oser la gratitude !
 
Les trois temps de la conscience humaine et les trois voies de la souffrance
Les trois temps de la conscience humaine et les trois voies de la souffranceLes trois temps de la conscience humaine et les trois voies de la souffrance
Les trois temps de la conscience humaine et les trois voies de la souffrance
 
La obesidad
La obesidadLa obesidad
La obesidad
 
Les conditions de réussite d'une intervention sur la souffrance au travail
Les conditions de réussite d'une intervention sur la souffrance au travailLes conditions de réussite d'une intervention sur la souffrance au travail
Les conditions de réussite d'une intervention sur la souffrance au travail
 
Souffrance psychique au travail mpgb 09 09 14
Souffrance psychique au travail mpgb 09 09 14Souffrance psychique au travail mpgb 09 09 14
Souffrance psychique au travail mpgb 09 09 14
 
Chapitre 2concpt de soi
Chapitre 2concpt de soiChapitre 2concpt de soi
Chapitre 2concpt de soi
 
Calendrier 2010 du mauvais patron
Calendrier 2010 du mauvais patronCalendrier 2010 du mauvais patron
Calendrier 2010 du mauvais patron
 
Chain of Responsability
Chain of ResponsabilityChain of Responsability
Chain of Responsability
 
Comment agir après un choc traumatique
Comment agir après un choc traumatique Comment agir après un choc traumatique
Comment agir après un choc traumatique
 
Outils de la confiance en soi des professionnels
Outils de la confiance en soi des professionnelsOutils de la confiance en soi des professionnels
Outils de la confiance en soi des professionnels
 
Design patterns
Design patternsDesign patterns
Design patterns
 
Conférence Construire, développer et protéger son estime de soi, Gilles Payet...
Conférence Construire, développer et protéger son estime de soi, Gilles Payet...Conférence Construire, développer et protéger son estime de soi, Gilles Payet...
Conférence Construire, développer et protéger son estime de soi, Gilles Payet...
 
Nine Pages You Should Optimize on Your Blog and How
Nine Pages You Should Optimize on Your Blog and HowNine Pages You Should Optimize on Your Blog and How
Nine Pages You Should Optimize on Your Blog and How
 

Patron de conception Chain of Responsibility

  • 1. Patron de conception Chain of Responsibility Amira Hakim Dept de Mathématique & Informatique Université de Souk-Ahras 1 UNIVERSITE MOHAMED CHERIF MESAADIA SOUK-AHRAS
  • 2. 2
  • 3. Motivation( Problématique )1/2 3 Considérons une fonction d'aide contextuelle pour une interface graphique. L'utilisateur peut obtenir des informations d'aide sur une partie de l'interface en cliquant simplement dessus. L'aide qui est fournie dépend de la partie de l'interface concernée et aussi de son contexte. Par ex , un bouton d’une boite de dialogue doit avoir des informations d’aides différentes de celui d’un bouton de l’accueil de l’application. Si aucune information d'aide existe pour cette partie de l'interface, alors le système d'aide devrait afficher un message d'aide plus générale sur le contexte immédiat(la boîte de dialogue dans son ensemble, par ex).
  • 4. Motivation( Problématique )2/2 4 Par conséquent, il vaut mieux organiser les information d'aide selon leur généralité du plus spécifique au plus général. Une demande d'aide est assurée par l'un des plusieurs objets d'interface utilisateur ,dont chacun dépend du contexte et spécificité du help. Le problème ici est que l'objet qui fournit finalement l'aide n’est pas connu de façon explicite à l'objet (par exemple, le bouton) qui initie la demande d'aide.
  • 6. 6
  • 7. De quoi a-t-on besoin? 7 Nous avons besoin d'un moyen de découpler le bouton qui déclenche la demande d'aide des objets qui pourraient fournir des informations d'aide. Le patron Chain of Responsibility définit comment cela se passe.
  • 8. intention 8 Eviter de coupler l’émetteur d’une requête avec son récepteur en donnant une chance a plusieurs autres objets de gérer cette requête. La chaine d’objets récepteurs passent la requête jusqu’a ce qu’un objet gère cette dernière.
  • 9. Utilité de chain of responsibility 9 Plus d’un objet peut traiter la requête ,mais celui qui vas vraiment gérer cette requête n’est pas connu a l’avance. Lorsqu’on veut attribuer la requête a un objet spécifique sans spécifier le récepteur explicitement. L’ensemble d’objets qui peuvent traiter la requête doit être spécifié dynamiquement.
  • 10. Description 10 Séparer l’émetteur et le récepteur en donnant a plusieurs objets (dans un certain ordre) une chance a gérer la requête. La requête est passée jusqu’a ce qu’un objet décide de la prendre en charge(Handling the request ). Le 1er objet de la chaine reçoit la requête soie: il gère cette requête il fait passer la requête a son successeur dans la chaine . L’objet qui envoi la requête n’a aucune connaissance explicite de celui qui va la traiter.
  • 12. Participants 12 Client: initialise une requête a un ConcreteHandler dans une chaine. Handler: définit l’interface de traitement de requêtes. Il peut ainsi implémenter des liens de ces successeurs. ConcreteHandler: traite la requête dont il est responsable, ou passe la requête a son successeur.
  • 13. Conséquences 13 Avantages: Découplement ou séparation de l’émetteur du récepteur. Plus de flexibilité. Les émetteurs ne sont pas obligés de savoir les handlers de leurs requêtes. Inconvénient: le client ne peut pas explicitement préciser qui gère une demande. Aucune garantie sur le traitement de la requête(demande tombe sur fin de chaîne).
  • 14. Patrons connexes 14 Le patron chaîne de responsabilité est souvent appliquée en conjonction avec le patron composite. D’où, le parent d'un composant peut agir comme son successeur.