Pattern > Créateurs

Pattern > Structuraux

Pattern > Comportementaux

Références

L'actualité

Librairie

L'information

Design pattern > Comportementaux > Chain of Responsibility

Ce patron vise à découpler l'émission d'une requête de la réception et le traitement de cette dernière en permettant à plusieurs objets de la traiter successivement. Dans ce patron chaque objet comporte un lien vers l'objet suivant, qui est du même type. Plusieurs objets sont ainsi attachés et forment une chaîne. Lorsqu'une demande est faite au premier objet de la chaîne, celui-ci tente de la traiter, et s'il ne peut pas il fait appel à l'objet suivant, et ainsi de suite.


Handler (Approver)
  • defines an interface for handling the requests
  • (optional) implements the successor link
ConcreteHandler (Director, VicePresident, President)
  • handles requests it is responsible for
  • can access its successor
  • if the ConcreteHandler can handle the request, it does so; otherwise it forwards the request to its successor
Client (ChainApp)
  • initiates the request to a ConcreteHandler object on the chain
			
Director Larry approved request# 2034
President Tammy approved request# 2035
Request# 2036 requires an executive meeting!