Glossary: Software Design Patterns in Go
Chain of responsibility
Also written: chain of handlers
A pattern where a request passes along a line of handlers, and each one deals with it (for example by rejecting it) or passes it on. Kettle & Crane's order checks `hasItems`, `knownCarrier` and `underLimit` form such a chain.