Real-world examples
Automated teller machines (ATMs) and, in general, any kind of machine that accepts/returns banknotes or coins (for example, a snack-vending machine) use the Chain of Responsibility pattern.
There is always a single slot for all banknotes, as shown in the following diagram, courtesy of SourceMaking (www.sourcemaking.com):
When a banknote is dropped, it is routed to the appropriate receptacle. When it is returned, it is taken from the appropriate receptacle. We can think of the single slot as a shared communication medium and the different receptacles as processing elements. The result contains cash from one or more receptacles. For example, in the preceding diagram, we see what happens when we request United States dollars (USD) $175 from the ATM.
In software, the servlet filters of Java are pieces of code that are executed before a HyperText Transfer Protocol (HTTP) request...