Functional Data Modeling

Learn how to use functional Scala to construct simple, precise, and flexible models of any business domain.

Book a Training

Overview

Data modeling is a critical skill of modern application development, determining how easy it is to write application logic, how easy it is to update the application in response to changing requirements, and how many failure scenarios are caught at compile time versus runtime. Although most Scala developers are familiar with object-oriented data modeling, many do not have a deep understanding of functional data modeling and how it differs from the former.

In this course, developers will learn how to use functional Scala to construct simple, precise, and flexible models of any business domain. Along the way, they will explore functional concepts like algebraic data types, and techniques like smart constructors. Developers will leave with excellent skills for fully utilizing Scala’s functional data modeling capabilities inside their applications.

Are you interested in attending a private training course?

Register for Private Training

Are you interested in attending a public training course?

Register for Public Training

Who Should Attend

Scala developers who want to use the functional side of Scala to create simpler, more precise, and more flexible data models than traditionally possible with object-oriented data modeling.

Prerequisites

Good working knowledge of Scala, including familiarity with immutable data, pattern matching, and basic recursion. Developers who have attended Functional Scala Foundations will be well-prepared for this course.

Topics

  • Sealed traits and case classes
  • Algebraic data types
  • Polymorphic algebraic data types
  • Generalized algebraic data types
  • Smart constructors and refined types
  • Phantom types
  • Declaration-site variance
  • Existential types
  • Throwing away irrelevant details
  • Creating precise domain models
  • Making illegal states unrepresentable
TESTIMONIAL
With Ziverge's tech leadership, Hunters was able to tackle challenges and technologies that in normal cases would be inaccessible for a young startup. Ziverge's vast experience in designing complex data pipelines was an amazing shortcut for us; combined with its holistic approach around training, team building, documentation, etc. Ziverge is a true game-changer.
Uri May
CEO Hunters.ai

Related Courses

A Crash Course in Functional Scala

Learn how functional Scala enables you to write better code, with high productivity and testability.

# fp
24 hours

Functional Data Modeling

Learn how to use functional Scala to construct simple, precise, and flexible models of any business domain.

# fp
24 hours

Functional Design

Learn how to benefit from functional programming techniques across your application, in a way that’s highly accessible to the whole team and new hires.

# fp
24 hours

Book a Training