Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

YouTube

From Object Oriented to Functional Domain Modeling

Devoxx via YouTube

Overview

Explore the integration of object-oriented and functional programming paradigms in Java 8 through this insightful 56-minute Devoxx conference talk. Delve into the advantages of combining these two programming styles, focusing on how functional idioms can enhance business domain modeling. Learn about passing functions as data, creating thread-safe models with immutable objects, and improving code reusability through side-effect-free programming. Discover practical examples demonstrating function composition, higher-order functions, and the implementation of design patterns like strategy and builder in a functional context. Examine advanced concepts such as currying, error handling with monads, and the Reader monad for decoupling state and behavior. Gain valuable insights on API design, immutability, and the essence of functional programming, concluding with recommendations for further reading to deepen your understanding of these powerful programming techniques.

Syllabus

Intro
What is a functional program?
The OOP/FP dualism - FP
From Object to Function centric
A composable functional API
Essence of Functional Programming
Higher-order functions
A strategy pattern Converter
Using the Converter
A functional Converter
Currying
More Function Composition
A Salary Calculator Builder
Using the Salary Calculator Builder
Isolating Salary Rules
A Functional Salary Calculator
Using the Functional Salary Calculator
JAVASLANG A functional Library for Java 8
Error handling with Exceptions?
Error handling The functional alternatives
Error handling with Try monad
and how we can use it
Decoupling state and behavior
Introducing the Reader monad ...
API design is an iterative process
Strive for immutability
Avoid using exceptions for error handling
Use anemic object
FP allows better Reusability & Composability
Suggested readings

Taught by

Devoxx

Reviews

Start your review of From Object Oriented to Functional Domain Modeling

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.