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

Tendances (20)

Architecture jee principe de inversion de controle et injection des dependances
Architecture jee principe de inversion de controle et injection des dependancesArchitecture jee principe de inversion de controle et injection des dependances
Architecture jee principe de inversion de controle et injection des dependances
 
Support de cours angular
Support de cours angularSupport de cours angular
Support de cours angular
 
Cours design pattern m youssfi partie 6 proxy
Cours design pattern m youssfi partie 6 proxyCours design pattern m youssfi partie 6 proxy
Cours design pattern m youssfi partie 6 proxy
 
Support de cours EJB 3 version complète Par Mr Youssfi, ENSET, Université Ha...
Support de cours EJB 3 version complète Par Mr  Youssfi, ENSET, Université Ha...Support de cours EJB 3 version complète Par Mr  Youssfi, ENSET, Université Ha...
Support de cours EJB 3 version complète Par Mr Youssfi, ENSET, Université Ha...
 
Support JEE Spring Inversion de Controle IOC et Spring MVC
Support JEE Spring Inversion de Controle IOC et Spring MVCSupport JEE Spring Inversion de Controle IOC et Spring MVC
Support JEE Spring Inversion de Controle IOC et Spring MVC
 
Cours design pattern m youssfi partie 8 stat, template method, command , medi...
Cours design pattern m youssfi partie 8 stat, template method, command , medi...Cours design pattern m youssfi partie 8 stat, template method, command , medi...
Cours design pattern m youssfi partie 8 stat, template method, command , medi...
 
Support Web Services SOAP et RESTful Mr YOUSSFI
Support Web Services SOAP et RESTful Mr YOUSSFISupport Web Services SOAP et RESTful Mr YOUSSFI
Support Web Services SOAP et RESTful Mr YOUSSFI
 
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 ...
 
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
 
Conférence: Catalyseurs de l'Intelligence Artificielle et Écosystème des Fram...
Conférence: Catalyseurs de l'Intelligence Artificielle et Écosystème des Fram...Conférence: Catalyseurs de l'Intelligence Artificielle et Écosystème des Fram...
Conférence: Catalyseurs de l'Intelligence Artificielle et Écosystème des Fram...
 
Support de cours entrepise java beans ejb m.youssfi
Support de cours entrepise java beans ejb m.youssfiSupport de cours entrepise java beans ejb m.youssfi
Support de cours entrepise java beans ejb m.youssfi
 
Tp1 - WS avec JAXWS
Tp1 - WS avec JAXWSTp1 - WS avec JAXWS
Tp1 - WS avec JAXWS
 
Concevoir, développer et sécuriser des micro-services avec Spring Boot
Concevoir, développer et sécuriser des micro-services avec Spring BootConcevoir, développer et sécuriser des micro-services avec Spring Boot
Concevoir, développer et sécuriser des micro-services avec Spring Boot
 
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)
 
Architecture réparties et les services web
Architecture réparties et les services webArchitecture réparties et les services web
Architecture réparties et les services web
 
Site JEE de ECommerce Basé sur Spring IOC MVC Security JPA Hibernate
Site JEE de ECommerce  Basé sur Spring IOC MVC Security JPA HibernateSite JEE de ECommerce  Basé sur Spring IOC MVC Security JPA Hibernate
Site JEE de ECommerce Basé sur Spring IOC MVC Security JPA Hibernate
 
SOA - Architecture Orientée Service : Démystification
SOA - Architecture Orientée Service : DémystificationSOA - Architecture Orientée Service : Démystification
SOA - Architecture Orientée Service : Démystification
 
Diagrammes de classes uml
Diagrammes de classes umlDiagrammes de classes uml
Diagrammes de classes uml
 
Chp2 - Vers les Architectures Orientées Services
Chp2 - Vers les Architectures Orientées ServicesChp2 - Vers les Architectures Orientées Services
Chp2 - Vers les Architectures Orientées Services
 
Traitement distribue en BIg Data - KAFKA Broker and Kafka Streams
Traitement distribue en BIg Data - KAFKA Broker and Kafka StreamsTraitement distribue en BIg Data - KAFKA Broker and Kafka Streams
Traitement distribue en BIg Data - KAFKA Broker and Kafka Streams
 

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.