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