Introducing Pipeline pattern using functional programming approach.
The aim of the pattern is to enable a different way to handle three use case:
- Refactor of a convoluted alghoritm, resembling something similar to the template pattern
- Create a dynamic algorithm, using a Rule-engine-like approach
- Refactor of a complex and over-populated switch/case
All the code that falls in these use cases is not compliant with OOP principle and our objective is to make it so, with the help of some SOLID principles.