In the last few years my coding style has transitioned from an object oriented to a more functional style. I see a huge benefit on embracing ideas from the functional paradigm, even when using an object oriented language.

In the following days I am going to write a few blog posts to describe how my style has changed and why I think that’s beneficial.

These are the contents I am planning to through:

  • Imperative vs Declarative
  • Immutability
  • No loops
  • Option type - no nulls
  • Error handling without exceptions
  • Partial application / Currying
  • Function composition - OO Design patterns in a functional world.
  • Mocking/unit testing and DI.