What’s it about

A few years back I got interested in Domain-Driven Design (DDD) and Event Sourcing. As a result of that interest, during the last few years I’ve built several production systems using those methods. Most of the time I write .NET core. All of it got me as far as writing the book called Hands-on Domain-Driven Design with .NET Core where I tried to answer all questions about implementing DDD, CQRS and Event Sourcing in real-world application that I’ve heard from other people.

Check more about what I do and what I help you with on the About page.

Hey, where is the UI part!?

TDLR; Chater 13 is currently being finalised and it has some UI bits. Will be published online only by the end of June. More content will be in the book repo in July and in this blog. I got quite a few questions from the readers of my book about the “missing chapter” and the part that should cover the user interface. Both are apparently missing from both the printed and electronic version. [Read More]
ddd  book 

The book is done!

Today, I wrote the final chapter for my book Hands-on Domain-Driven Design with .NET Core. There’s some more work to be done by the publisher and I expect them to ask for final adjustments. The book will go to print some time next week. Unfortunately, due to time pressure, the publisher has decided to exclude the last chapter from the printed version, so it will only be published online. You can get the book on Amazon or via Packt’s own webshop, where you often can get a bargain for the eBook. [Read More]
ddd  book 

Deploy GitLab CE on a new AKS cluster

Update: GitLab currently has a choice of cloud-native Helm charts, which might be more actual than using this recipe. Check this page to find out more. I would like to share my experience to create a small Kubernetes cluster on Azure Container Service (AKS Preview) and deploy GitLab CE on it using the Helm chart. Creating a cluster in AKS should be an easy task but sometimes things don’t go at they suppose to. [Read More]

Hands-on Domain-Driven Design with C# Book

Ok, it is official that my book Hands-on Domain-Driven Design with C# will be published by Packt in January 2019. Here is the link to the book. What You Will Learn Discover domain complexity together with business stakeholders Avoid common pitfalls when creating the domain model Understand the concept of bounded context and aggregate Design and build temporal models based on behavior and not only data Explore benefits and drawbacks of event-sourcing Figure out CQRS and to-the-point read models with projections Practice building one-way flow UI with Vue. [Read More]
ddd  book 

Upcoming DDD Exchange 2018

A few years ago I attended the famous Greg Young’s course (actually, both of them) at SkillsMatter and Greg asked me at the end if I am staying for DDD Exchange. I never heard of the conference before that day and decided that one day I would definitely go. These were those good old days when SkillsMatter was not so large yet and CodaNode was not a thing of reality, but only of Wendy’s dream and imagination… [Read More]

DDD-All-The-Things!

For quite a few years, with growing popularity of Domain-Driven Design (DDD), I keep hearing that: DDD is hard DDD is only for core domain This mantra has became very popular and often is (mis)used to advocate some crazy things people do to avoid crunching the domain knowledge. In this post, I would like to return back to the roots. In nearly every talk or lecture that somehow concerns DDD, Greg Young mentions that, in his opinion, the chapter order of the Blue Book is incorrect. [Read More]

React stateless functional components in TypeScript

React 1.5 introduced stateless components, declared as pure functions. Sometimes, these components are referred as “functional components”.

It is indeed a very nice way to define rendering components that have no state and no side effects.

[Read More]

Demo MassTransit Scheduling with Quartz

MassTransit is able to scheduled messages using a separate service that uses Quartz.Net and your transport provider. This functionality is briefly described in the documentation but I felt there is a need to create a working demo. So, it is now available on GitHub. You need to run the MassTransit.QuartzService in a separate process. For demo purposes you can use RAM storage in Quartz. Do do this, remove or comment out all ADO JobStorage configuration lines from the app. [Read More]

Autofac and ServiceStack

I finally decided to put this integration to a NuGet package.

There are two versions now:

  • The first version (1.0.1) supports ServiceStack V3, which remains a free version
Install-Package Autofac.Extras.ServiceStack -Version 1.0.1
  • Version 2.0 supports ServiceStack version 4
Install-Package Autofac.Extras.ServiceStack

The repository is on GitHub

Agile Architecture

Several points from Martin Fowler's talk [Agile Architecture](https://www.thoughtworks.com/talks/agile-architecture-rethink-2014) on Rethink Dallas 2014: * Architecture is "things that matter" and "things that are hard to change" * Architecture and development are two in one, cannot be split and done separately * Some technical decisions remove a need for architecture * Architectural artefacts are not [only] diagrams but examples in code * Technical lead or architect need to spend about 30% of their time doing programming, mainly commit [Read More]