Small introduction to OO programming patterns and how we can solve similar problems using functional programming languages.