Avoid coupling the sender of a request to its receiver by giving more than one object a chance to handle the request. Chain the receiving objects and pass the request along the chain until an object handles it.
Exceptions may be implemented using the Chain of Responsibility pattern, though the objects involved may not be visible to programmers. The Handler objects are activation records on the runtime stack. Catch clauses attach a special kind of method to the activation record that is active when the try statement is executed. This method is internally invoked when an exception of the appropriate type occurs. If an activation record does not have a catch method of the appropriate type then the exception is passed on to the parent activation record.
Document styles such as Content Style Sheets (CSS) often support style inheritance. In the element hierarchy (a Composite pattern), style attributes defined in one element may be inherited by its children. The method for locating an inherited style attribute for an element checks an attribute table in that element. If the attribute is not found there, a message with the same method is sent to the element's parent. The method recurs until the attribute value is found.
Java's AttributeSet class is used for styling elements in a text document. It uses a similar style inheritance mechanism.
Inheritance mechanisms in classless OOLs may use a Chain of Responsibility design pattern to minimize the memory footprint of objects. Search for an object member starts in its own member table. If the member is not found there the search is forwarded to the object's prototype, which may forward to its prototype, and so on.