Henning Schwentner

Information & Communications Technology

Programming Software Architecture Domain Driven Design microservices Agile Methodologies Collaborative Modeling

Hamburg, Germany

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

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 www.LeasingNinja.io as well as translator of “Domain-Driven Design kompakt” (dpunkt, 2017).

Henning's full speaker profile