Intent
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.
Applicability
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)
Typical Use Case
- implement stages and execute them in an ordered manner
Real world examples
Credits
- The Pipeline Pattern — for fun and profit
- The Pipeline design pattern (in Java)
[Pipelines Microsoft Docs](https://docs.microsoft.com/en-us/previous-versions/msp-n-p/ff963548(v=pandp.10))