Chain of Responsibility
Welcome to the Chain of Responsibility pattern. This pattern is a behavioral design pattern that allows an object to pass a request along a chain of handlers. Upon receiving a request, each handler decides either to process the request or to pass it along the chain.
The Chain of Responsibility pattern is particularly useful when the system needs to decouple senders and receivers of requests. It allows multiple objects to handle a request without the sender needing to know which object will process it.