Using Record Types to Build Better Domain Models
Conference (INTERMEDIATE level)
Room 8

Not everything in the world is an object. That's why DDD defines different design patterns, like Entity, Value Object, Repository, etc. Beginning with Java 14 Oracle has provides us with Record Types. They are a step towards true value types. We look at the current status and what's in the box for the future.

In this talk we will look at:

* what's behind the motto "Codes like a class - works like an int"

* why immutabilty leads to less failures

* why value types make your code at the same time better readable and more efficient

* the difference between refence and value types

* the new syntax to support value types in Java

* how value types are implemented in other languages

* what inheritance means for value types

* the advantages of storing data on the stack versus storing data on the heap

* and most important: how value types can help us to provide a better domain model

Henning Schwentner
WPS – Workplace Solutions

Henning loves programming in high quality. He lives this passion as coder, coach, and consultant at WPS – Workplace Solutions. There he helps teams to structure their monoliths or to build new systems from the beginning with a sustainable architecture. Microservices or self-contained systems are often the result. Henning is author of “Domain Storytelling” (Addison-Wesley, 2022), and the as well as translator of “Domain-Driven Design kompakt” (dpunkt, 2017).