Data modeling is not a simple process as it might look. Approaches to code like DDD (domain driven design) are completely based on working consciously over our domain entities to represent the business reliably. In this short course you will learn how to model your domain data using the tools and concepts that Functional Programming brings to the table.
Previous experience with Scala
Previous experience with building micro-services-based architectures
The power of the Kotlin type system for data modeling. Nothing and Unit.
Modeling domain entities with algebraic data types (ADTs). Product and sum types.
Structural syntax derived at compile time for product types.
Union types.
Modeling errors in our domain using coproduct types.
Modeling domain behaviors (business logic) as pure functions.
Modeling domain behaviors (business logic) as ADTs (algebras).
Functional data types for representing concerns over over our data.
Leveraging immutability within our domain.
Using optics to read and modify immutable domain data.
Refining our domain types for a more precise representation of the business elements.
Removing the need for testing invariants with refined types.
Inline classes.
Referential transparency and purity across all our domain.
Determinism.
1 Day / 8 hours
Instructor-Led Course
Intermediate
Maximum Class Size of 15
Access to Academy EduTools Platform
Access to Course Materials
Certificate of Completion
Access to a Private Channel with Trainers in the Academy Slack
A Q&A session one week post-course
A pre-and-post meeting with our trainers