Chain of Responsibility

Among the design patterns that recur most often in middleware, such as Wrapper-Facade and Strategy, the author's favorite is the Chain of Responsibility pattern. In object-oriented terms, the CoR pattern aims to decouple a caller from its target object, and it accomplishes this by interposing a chain of objects between them. This arrangement lets each object in the chain act on a request as it flows from the caller to the target. The pattern evokes images of time-honored approaches such as assembly lines and division of labor.