As Object Oriented programmers, we follow SOLID Design Principles for improving OO design of our applications.

If you take the SOLID principles to their extremes, you arrive at something that makes Functional Programming look quite attractive.

Objects are merely a poor man's closures. And ultimately Closures are a poor man's objects.

This talk explains about how applying SOLID Design principles like Single Responsibility Principle (SRP) leads to many small classes. Furthermore, if you rigorously apply the Interface Segregation Principle (ISP), you'll eventually arrive at the ultimate Role Interface: an interface with a single method.

If you apply the SRP and ISP like that, you're likely to evolve a code base with many fine-grained classes that each have a single method.

Objects are data with behaviour. Closures are too are data with behaviour.

This talk will enlighten how applying Object Oriented Design Principles to their extreme will lead you to Functional Programming.

It's necessary for Object Oriented programmer to understand why Functional programming makes sense.

At the end, this talk will also cover essential basics of Functional programming needed to be known for every Object Oriented Programmer.


Outline/Structure of the Talk

This talk will take a sample code example written with Object oriented design.

Then it will apply Single Responsibilty Principle (SRP) and Interface Segragation Principles (ISP) to their extremes.

It will prove how objects are similar to closures. Also prove closures are objects.

At last, it will cover basics of functional programming necessary to be known for any Object Oriented programmer.



Learning Outcome

This talk will help Object Oriented Programmers to get into Functional programming. It will also enlighten why Functional programming matters 

Target Audience

Developers who daily write Object Oriented Code and are interested to learn Functional programming.

schedule Submitted 6 years ago

Public Feedback