Design patterns·The shape of the whole application
each stage takes one thing and returns another, knows nothing about its neighbours, and you reordered two of them safely.
Pipes and filters
Also calledpipeline architecture, filter chain
Decomposing processing into independent stages connected by a uniform channel, so each stage transforms and passes along. Unix pipelines, compilers, ETL jobs and stream processors are all this shape, and its virtue is that stages compose, reorder and parallelise because they share only the data format. The constraint is that shared format: anything a stage needs that the pipe does not carry has to be smuggled, and that is where the design breaks down.