Peter Morlion logo

CQRS/ES In .NET: Event Handlers

Continuing this series on CQRS and ES in .NET, we’re now going to focus on Event Handlers. I previously covered: CQRS/ES The Command The Command Handler The Repository The Domain Object If you haven’t read them, I advise you to to so first. Read them in order, because they build upon each other. If you’re […]

CQRS/ES In .NET: The Domain Object

If you haven’t read the previous posts in this series, you might want to check out: CQRS/ES The Command The Command Handler The Repository In this post, I will look at the Domain Object. So far, we know we can create a Command, give it to the Command Handler, who will use the Repository to […]

CQRS/ES In .NET: The Repository

So far, we’ve covered the CQRS/ES pattern, the Command object, and the Command Handler object. In our last post, we saw that the Command Handler needs a repository to retrieve an object and save it after changes have been made. In this post, I will go into the Repository. The Interface The Repository will be […]

CQRS/ES In .NET: The CommandHandler

In my previous post, I explained how the Command in (our) CQRS implementation is just a DTO. This means we need to send it somewhere. Meet the CommandHandler. First, let’s define the interface. This will come in handy when we want to use dependency injection later. In my case, I injected the interface into my […]

CQRS/ES In .NET: The Command Object

Let’s start with the C in CQRS. As you know by now, the C is for “Command.” In our implementation of CQRS/ES, a command will be a basic DTO object. Later, we’ll see that CommandHandlers will take such a command and perform the necessary calls to domain objects. But let’s start simple. As stated, a […]

Implementing CQRS/ES in .NET

CQRS (command and query responsibility segregation) and ES (event sourcing) are two patterns that are easily explained, but not so easily implemented. The patterns are gaining traction and often come together. But many developers have been trained in a classic CRUD way, and don’t always know where to begin. In this series, I’ll not only […]