Understanding the Chain of Responsibility pattern
When developing an application, most of the time, we know which method should satisfy a particular request in advance. However, this is not always the case. For example, think of any broadcast computer network, such as the original Ethernet implementation. In broadcast computer networks, all requests are sent to all nodes (broadcast domains are excluded for simplicity), but only the nodes that are interested in a sent request process it.
All computers that participate in a broadcast network are connected to each other using a common medium such as the cable that connects all nodes. If a node is not interested or does not know how to handle a request, it can perform the following actions:
- Ignore the request and do nothing
- Forward the request to the next node
The way in which the node reacts to a request is an implementation detail. However, we can use the analogy of a broadcast computer network to understand what...