| layout | pattern | |
|---|---|---|
| title | Pipeline | |
| folder | pipeline | |
| permalink | /patterns/pipeline/ | |
| categories | Behavioral | |
| tags |
|
Allows processing of data in a series of stages by giving in an initial input and passing the processed output to be used by the next stages.
Use the Pipeline pattern when you want to
- Execute individual stages that yields a final value
- Add readability to complex sequence of operations by providing a fluent builder as an interface
- Improve testability of code since stages will most likely be doing a single thing, complying to the Single Responsibility Principle (SRP)
- Implement stages and execute them in an ordered manner
