DDD in Real Life: what it is, what it isn't, and when to reach for it

I was midway through a system-design talk when a familiar question landed: So… is DDD an architecture or a pattern? The room had many .NET folks. Heads tilted. Some smiled the “here we go” smile. Let’s answer it simply, and then go a little deeper; without buzzword gymnastics. A simple definition of DDD Domain-Driven Design (DDD) is a way of designing software by centering everything on the language and rules of the business. It gives you two kinds of tools: ...

October 3, 2025 · 5 min · Kia Raad

Comparing Change Logs and Event Sourcing: Choosing the Right Approach for Your System

Introduction In the ever-evolving landscape of software development, tracking changes to data is a fundamental requirement. Whether for auditing, debugging, compliance, or analytics, maintaining a history of changes enhances transparency and accountability within a system. Two prevalent approaches to capturing these changes are storing a change log and using event sourcing. While they share common goals, they differ significantly in implementation and suitability depending on the system’s needs. This blog post delves into the similarities and differences between change logs and event sourcing, assesses their applicability through practical examples, and provides guidance on choosing the right approach for your system. ...

October 1, 2024 · 7 min · Kia Raad