Implementing the chain of responsibility pattern

The chain-of-responsibility pattern is a behavioral pattern that decouples a request from a handling object in a chain of handlers until the handler is recognized as processing the request. This pattern avoids tight coupling between the sender and the receiver, and gives more than one chance to handle the request.

With this pattern, requests are sent to a sequential chain of potential handlers. One of the handlers is expected to take the request and return the response. If the request is not accepted by any of the handlers, it will not be handled by the application. This is depicted by the following diagram:

Each of the handlers handles a single responsibility, which makes the design cleaner, loosely coupled, and easy to extend.

This pattern is useful when we want to perform different operations based on a request as well as keeping these operations separate. Instead of putting all operations in a single class, we can have different classes, each of these performing specific operations to process an incoming request and to return a result.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset