Nov 2015
03

Meeting # 30

-

From object oriented to functional domain modelling


Venue

Where

University of Lugano, Via G. Buffi 13 - Lugano
Informatics Building, Room SI-008


loading map


When

Tuesday 03rd November 2015, from 18:30

Abstract

From object oriented to functional domain modelling

The main consequence of the introduction of lambda expressions in Java 8 is the possibility of conveniently mixing the object oriented and the functional paradigms. Nevertheless the biggest part of Java developers is not used yet to employ functional idioms and then they are not ready to fully leverage the new functional capabilities of Java. In particular it is still uncommon to see functions used together with data in business domain model. The purpose of this talk is not doing a comparison between object oriented and functional programming, but showing how these two styles can be combined in order to take advantage of the good parts of both. For example it's usual to pass a list of data to a function that processes them, but there are cases when you may want to create a list of functions and pass a single data through all of them. Immutable objects leads to a inherently thread-safe domain model. Functions often compose better than objects. Side-effect free code allows better reusability. This talk will demonstrate the validity of these statements with practical examples till to distil the essence of functional programming: data and behaviours are two aspects of the same thing.

Language:

  • Italian or English


Speakers

Andrea Chiodoni

Mario Fusco

Mario is a senior software engineer at Red Hat working at the development of the core of Drools, the JBoss rule engine. He has a huge experience as Java developer having been involved in (and often leading) many enterprise level projects in several industries ranging from media companies to the financial sector. Among his interests there are also functional programming and Domain Specific Languages. He is also the co-author of "Java 8 in Action" published by Manning.


Registration Form

Please fill out the form to register to this event



Building Map