Using Record Types to Build Better Domain Models

Not everything in the world is an object. That’s why DDD defines different design patterns, like Entity, Value Object, Repository, etc. Lately, Oracle and Microsoft have equipped their languages with Record Types (Java 14, C# 9) and Record Structs (C# 10). They help in many cases to implement DDD’s Value Objects. That way we can express our domain in a natural way and reduce boilerplate code.

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.
* The new syntax to support record types.
* How value types are implemented in other languages.
* And most important: how record types can help us to provide a better domain model.

Henning Schwentner

Coder, Coach, Consultant at WPS – Workplace Solutions

Hamburg, Germany

View Speaker Profile