Something often discussed when implementing Event Sourcing is whether or not one should use Value Object’s or simple scalar values inside the Domain Events.

While this is discussed in this thread, I wanted to share my own experience on the subject.

On a project for which we are currently implementing CQRS + ES, that question was heavily discussed.

We concluded that using only simple messages with only scalar values was the good choice for us and for the following reasons:


Having VOs makes the process of serializing and deserializing the events really more complicated and that definitely adds an overhead.

A quick write about three general concepts that are often mixed up but are not directly related, DDD, CQRS and SOLID.

When I see how newcomers evolve in their approach of CQRS and DDD, I often realize that they are mixing up concepts that should not be!

A quick reminder:

Domain Driven Design

DDD is not a technical pattern, it’s more like a very general approach on how to implement the complexity of a domain in a way that your model really fits the reality and your client language (Ubiquitous Language).

I’d say that it is a really difficult exercise which requires strong…

One of the question I often hear about validating the model is why I need to make double validation both UI side and in the domain model itself.

Well, the response is easy, no matter what happens, you need to protect your domain against inconsistencies!

But, first, let’s see the differences between client validations and validating rules inside the domain model.

Validating rules inside the domain models

In many application with a rich domain, the domain model is the heart of everything. This is were all the domain rules lie in. It represents the only source of truth. …

What is an ORM exactly? It is not clear. Ask around you, you won’t always get the same answer.

Some would simply say that it is for abstracting database operations. Other that it is for designing the database with an object oriented approach.
These definitions are often incomplete, but also, the database is really centric in them, and my opinion is that this is an issue.

ORM exists, I think, for letting the developer designing his models the way he wants, without being preoccupied of how it would be persisted.

Is it really the case?
My answer is no.


Benjamin Dulau

Web architect, CEO at @studioano | Member of @thebigbrainscom

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store