The pipeline pattern affords a number of valuable benefits that are desirable in properly engineered applications; these benefits are as follows:
- Provides the structure for a system that processes data
- Divides tasks into sequential steps
- Encapsulates each step in a filter
- Independent filters (run in isolation) with a set of inputs and outputs
- Data passes through a pipeline in one direction
- Configurable modularity (read, write, split, and merge operations)
- High cohesion, where filter logic is self-contained
- Low coupling, where filters communicate through connecting pipes
- Distinction between batch and online processing disappears
The pipeline pattern has many characteristics that make it appealing for a variety of ...