Chain-of-responsibility pattern
In object-oriented design, the chain-of-responsibility pattern is a behavioral design pattern consisting of a source of command objects and a series of processing objects. Each processing object contains logic that defines the types of command objects that it can handle; the rest are passed to the next processing object in the chain.
Source: Wikipedia — Chain-of-responsibility pattern (CC BY-SA 4.0)