16.3.2020 Tactical Domain-Driven Design patterns for a distributed system with Szymon Pobiega


Hi all,

We are proud to announce the next event with Szymon Pobiega about Tactical Domain-Driven Design patterns for a distributed system. We organize the event together with the .NET Usergroup Zürich.

Should you not be able to attend this event you might want to check out the .NET Usergroup Zürich website. They’ll host Szymon on Wednesday the 13th of March.


1. Introduction
2. Still looking for a short presentation
3. Tactical Domain-Driven Design patterns for a distributed system with Szymon Pobiega
4. Knowledge Exchange/Apéro


bbv Software Services AG, Blumenrain 10, Luzern, 1. Stock
(Details siehe http://www.dotnet-zentral.ch/?page_id=98)


6:00 PM – 8:30/9:00 PM (After that apero)


Tactical Domain-Driven Design patterns for a distributed system

The original tactical patterns of Domain-Driven Design were introduced when line-of-business systems were still predominantly monolithic. That is not the case any more. Systems are not only distributed but also forced to use a wide array of data stores, each specialized in storing different types of data.

In this brave new world a bunch of new patterns have emerged. First off, a Sync-Async boundary divides the system in two parts. In the sync part users interact with the system in a synchronous manner, creating end editing a set of data. Once they are ready they submit the whole data set. The data set is turned into a set of messages that asynchronously flow through the system. The user is notified of the result of their operation asynchronously.

A second new pattern is a Message-Driven State Machine that can fulfil the role of an Aggregate or a Process Manager. Such a state machine is backed by a simple cloud-native data store and provides automatic message de-duplication.

The third and last pattern is a Message Sink. The cloud offers a wide array of specialized data stores with unique properties. The downside of these stores is that, while they do offer support for idempotent writes, they cannot guarantee consistency of outgoing messages. They are the sinks of a message-driven system. No messages escape them.

In this talk you’ll learn how to combine these three patterns to build reliable and robust distributed domain-driven systems.

Szymon Pobiega

Szymon works an engineer at Particular Software, the makers of NServiceBus. His main areas of expertise are Domain-Driven Design and asynchronous messaging. He is especially interested in the intersection of these two topics — in the patterns and tools for ensuring all messages are processed exactly once and in the correct order.

Szymon is a co-author of https://exactly-once.github.io/, a website dedicated to all things related to messaging.

In his free time Szymon plays with Lego, building models of real-life off-road vehicles.


Come and visit the next meeting of the .NET Usergroup Zentralschweiz.

Tactical Domain-Driven Design patterns for a distributed systems

Monday, Mar 16, 2020, 6:00 PM

bbv Software Services AG
Blumenrain 10 Luzern, CH

34 Enthusiasten Went

Dear Participants of Tactical Domain-Driven Design patterns, Considering the current development regarding the Covid-19 topic, we have decided to turn this into an online only event in collaboration with the .NET Zurich User Group. Please register for the event here https://particular.zoom.us/webinar/register/1215834845612/WN_S-Nk6IPiQ96eOuNd2y8S1Q…

Check out this Meetup →

About the author

By daniel.marbach