Author

Radek

Browsing

“EAV fallacy” – assumption, that you can model complex problem with an Entity-Attribute-Value solution I’ve been involved in a few projects which tried to use the similar EAV structure (SQL or JSON replacement) to embrace difficult logic inside of the system. Mostly because we wanted to handle “unknown need” from a business…

Event Storming is a workshop which makes it easier to understand business domain and to translate it into an architecture of the application. It was first described by Alberto Brandolini in his blog post, in November 2013. I won’t elaborate on what it is and how to conduct this workshop – there are plenty…

I finished work on my presentation about “CQRS in 4 steps” which will be shown during 4Developers conference. You can find slides from my presentation on Slideshare. Also, you can check my blog posts: splitting code to commands and queries introducing different data access creating simple read model creating read model asynchronously with SignalR…

TD DR: Mandatory book for every developer who wants to work with microservices. Microservices architecture is a trend in a modern software, which is currently implemented across our whole IT industry. Unfortunately, people started applying microservices without any greater understanding of how they should do it. It ended with massive collapses and posts like “The…

Let’s assume that we have such read model:

And we want store Category and FieldValues in the table, as JSON string.  How to handle JSON serialization and deserialization in Dapper? TypeHandlers TypeHandlers are an option in Dapper to serialize / deserialize objects during saving and querying the database. First, we define an implementation…

During my CQRS journey, I implemented many-to-many data querying, in the single database request. I achieved getting all products with associated entities at the same time. To achieve the same, we need to define a temporary table to store all first-level entities:

Then insert first-level entities into this table:

With such…

This post series is driven by my lightning talk about how to introduce CQRS to your project. I thought that would be good to explain this topic further for people who won’t be attending my presentation. I will write about: splitting code to commands and queries introducing different data access creating simple read model creating…