Brief Overview:

|
Consists of a source of "command objects" and a series of "processing objects."
Each processing object contains a set of logic that describes the types of command
objects that it can handle, and how to pass off those that it cannot to the next
processing object in the chain. A mechanism also exists for adding new processing
objects to the end of this chain. In a variation some handlers may also act as
"dispatchers" that can send commands out in a variety of directions thus creating
a "tree of responsibility". An XML interpreter is one possible example.
Chain of Responsibility promotes loose coupling.
|