Glossary: Software Design Patterns in JavaScript
Chain of responsibility
A pattern where a request passes along a line of handlers, each of which deals with it (for example rejects the order) or passes it on. Order checks like hasItems and knownCarrier form such a chain.