Chain of Responsibility pattern

GPTKB entity

Statements (32)
Predicate Object
gptkbp:instanceOf Design Pattern
gptkbp:alsoKnownAs CoR pattern
gptkbp:alternativeTo gptkb:Observer_pattern
Command pattern
gptkbp:benefit adds flexibility in assigning responsibilities
reduces coupling
gptkbp:category behavioral design pattern
gptkbp:commonIn logging frameworks
UI toolkits
event handling systems
gptkbp:describedBy gptkb:Gang_of_Four_book
gptkbp:example gptkb:Java
gptkb:Python
gptkb:C#
gptkbp:firstDescribed gptkb:Erich_Gamma
gptkb:John_Vlissides
gptkb:Richard_Helm
gptkb:Ralph_Johnson
https://www.w3.org/2000/01/rdf-schema#label Chain of Responsibility pattern
gptkbp:mechanismOfAction each handler decides either to process the request or to pass it to the next handler
gptkbp:participants Client
Handler
ConcreteHandler
gptkbp:purpose avoid coupling the sender of a request to its receiver
give more than one object a chance to handle a request
gptkbp:relatedTo gptkb:Mediator_pattern
gptkb:Composite_pattern
Decorator pattern
gptkbp:structure chain of handler objects
gptkbp:UMLDiagram shows a chain of handlers with a request passing along the chain
gptkbp:bfsParent gptkb:CoR
gptkbp:bfsLayer 7