SlideShare uma empresa Scribd logo
1 de 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!

Mais conteúdo relacionado

Mais procurados

Entreprise Java Beans (EJB)
Entreprise Java Beans (EJB)Entreprise Java Beans (EJB)
Entreprise Java Beans (EJB)Heithem Abbes
 
softCours design pattern m youssfi partie 9 creation des objets abstract fact...
softCours design pattern m youssfi partie 9 creation des objets abstract fact...softCours design pattern m youssfi partie 9 creation des objets abstract fact...
softCours design pattern m youssfi partie 9 creation des objets abstract fact...ENSET, Université Hassan II Casablanca
 
UML Part2- diagramme des uses cases_mansouri
UML Part2- diagramme des uses cases_mansouriUML Part2- diagramme des uses cases_mansouri
UML Part2- diagramme des uses cases_mansouriMansouri Khalifa
 
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)ENSET, Université Hassan II Casablanca
 
Appalications JEE avec Servlet/JSP
Appalications JEE avec Servlet/JSPAppalications JEE avec Servlet/JSP
Appalications JEE avec Servlet/JSPYouness Boukouchi
 
patron de conception
patron de conception patron de conception
patron de conception Shili Mohamed
 
Architectures 3-tiers (Web)
Architectures 3-tiers (Web)Architectures 3-tiers (Web)
Architectures 3-tiers (Web)Heithem Abbes
 
Services web soap-el-habib-nfaoui
Services web soap-el-habib-nfaouiServices web soap-el-habib-nfaoui
Services web soap-el-habib-nfaouiEl Habib NFAOUI
 
Développement d'applications pour la plateforme Java EE
Développement d'applications pour la plateforme Java EEDéveloppement d'applications pour la plateforme Java EE
Développement d'applications pour la plateforme Java EESabri Bouchlema
 
diagramme de classe
diagramme de classediagramme de classe
diagramme de classeAmir Souissi
 
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 ...ENSET, Université Hassan II Casablanca
 
Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école
Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école
Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école Mehdi Hamime
 
Introduction aux web services
Introduction aux web servicesIntroduction aux web services
Introduction aux web servicesmohammed addoumi
 

Mais procurados (20)

Entreprise Java Beans (EJB)
Entreprise Java Beans (EJB)Entreprise Java Beans (EJB)
Entreprise Java Beans (EJB)
 
softCours design pattern m youssfi partie 9 creation des objets abstract fact...
softCours design pattern m youssfi partie 9 creation des objets abstract fact...softCours design pattern m youssfi partie 9 creation des objets abstract fact...
softCours design pattern m youssfi partie 9 creation des objets abstract fact...
 
UML Part2- diagramme des uses cases_mansouri
UML Part2- diagramme des uses cases_mansouriUML Part2- diagramme des uses cases_mansouri
UML Part2- diagramme des uses cases_mansouri
 
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
 
Polymorphisme, interface et classe abstraite
Polymorphisme, interface et classe abstraitePolymorphisme, interface et classe abstraite
Polymorphisme, interface et classe abstraite
 
Appalications JEE avec Servlet/JSP
Appalications JEE avec Servlet/JSPAppalications JEE avec Servlet/JSP
Appalications JEE avec Servlet/JSP
 
patron de conception
patron de conception patron de conception
patron de conception
 
Support programmation orientée aspect mohamed youssfi (aop)
Support programmation orientée aspect mohamed youssfi (aop)Support programmation orientée aspect mohamed youssfi (aop)
Support programmation orientée aspect mohamed youssfi (aop)
 
Cours design pattern m youssfi partie 7 facade bridge flyweight
Cours design pattern m youssfi partie 7 facade bridge flyweightCours design pattern m youssfi partie 7 facade bridge flyweight
Cours design pattern m youssfi partie 7 facade bridge flyweight
 
Architectures 3-tiers (Web)
Architectures 3-tiers (Web)Architectures 3-tiers (Web)
Architectures 3-tiers (Web)
 
Services web soap-el-habib-nfaoui
Services web soap-el-habib-nfaouiServices web soap-el-habib-nfaoui
Services web soap-el-habib-nfaoui
 
Développement d'applications pour la plateforme Java EE
Développement d'applications pour la plateforme Java EEDéveloppement d'applications pour la plateforme Java EE
Développement d'applications pour la plateforme Java EE
 
diagramme de classe
diagramme de classediagramme de classe
diagramme de classe
 
Cours design pattern m youssfi partie 2 observer
Cours design pattern m youssfi partie 2 observerCours design pattern m youssfi partie 2 observer
Cours design pattern m youssfi partie 2 observer
 
Presentation Spring
Presentation SpringPresentation Spring
Presentation Spring
 
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 ...
 
Une introduction à Hive
Une introduction à HiveUne introduction à Hive
Une introduction à Hive
 
Support de cours technologie et application m.youssfi
Support de cours technologie et application m.youssfiSupport de cours technologie et application m.youssfi
Support de cours technologie et application m.youssfi
 
Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école
Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école
Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école
 
Introduction aux web services
Introduction aux web servicesIntroduction aux web services
Introduction aux web services
 

Destaque

Pw Point Boal2
Pw Point Boal2Pw Point Boal2
Pw Point Boal2UQAM
 
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 positionturnaroundexec
 
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èsNicolas Debock
 
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’huiCybersolidaires
 
En 2014, oser la gratitude !
En 2014, oser la gratitude !En 2014, oser la gratitude !
En 2014, oser la gratitude !Marie Bo
 
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 souffranceGabriel 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 travailLACT
 
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 14raymondteyrouz
 
Calendrier 2010 du mauvais patron
Calendrier 2010 du mauvais patronCalendrier 2010 du mauvais patron
Calendrier 2010 du mauvais patronErik Van Rompay
 
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 LACT
 
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 professionnelsHR SCOPE
 
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...Transmission RH
 
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 HowLeslie Samuel
 

Destaque (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.