Skip to content

Sponsor: Do you build complex software systems? See how NServiceBus makes it easier to design, build, and manage software systems that use message queues to achieve loose coupling. Get started for free.

Learn more about Software Architecture & Design.
Join thousands of developers getting weekly updates to increase your understanding of software architecture and design concepts.


Follow @CodeOpinion

Path to Event-Driven Architecture. Start capturing INTENT!

CRUD (Create Read Update Delete) needs to burn in a tire fire. While it seems simple, it often leads to a spaghetti code mess of complexity in a large system. Start being explicit and capturing intent. Once you do this, the floodgates open possibilities for extending your system by following the path to event-driven architecture. YouTube Check out my YouTube channel, where I post all kinds of content accompanying my posts, including this video showing everything in this post. CRUD Create, Read, Update, Delete (CRUD) is pretty common. Generally, it’s just simple forms to add data to a database and provide a… Read More »Path to Event-Driven Architecture. Start capturing INTENT!

DDD is just giving a 💩 about your Domain

When illustrating domain-driven design (DDD), sample/reference applications do more harm than good. Overall in a vacuum, they’re a net negative. It isn’t easy to convey the complexity and trade-offs made using trivial code examples. Beyond that, the code samples themselves are the wrong starting point. YouTube Check out my YouTube channel, where I post all kinds of content accompanying my posts, including this video showing everything in this post. Where NOT should you start The typical developer path when thinking about DDD is jumping into code. Code samples and demos are great for illustrating patterns or concepts. The problem is when patterns… Read More »DDD is just giving a 💩 about your Domain

Focusing on “Entities” leads nowhere good.

Focusing on data or “entities” can lead you to develop a system that is hard to change and, over time, littered with technical complexity. I will cover why you must think about your system’s behaviors and start being explicit. YouTube Check out my YouTube channel, where I post all kinds of content accompanying my posts, including this video showing everything in this post. Blinded by Data This video/blog was inspired by this post on Reddit. First, why is it fairly obvious that the “microservices” are a teacher, student, etc? That’s the first problem. It’s not obvious at all what “school app” does.… Read More »Focusing on “Entities” leads nowhere good.