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

Derek Comartin

The Power of Ubiquitous Language in Domain-Driven Design

There’s one key aspect that can really unlock your understanding of domain-driven design: the ubiquitous language. It’s the secret sauce. Let’s explore some different ways of thinking about it that might just give you the big “aha moment” you’re looking for. YouTube Check out my YouTube channel, where I post all kinds of content accompanying my posts, including this video showing everything in this post. Be Aware of Terminology First, be acutely aware of the terminology and words used in any part of the organization. Words have different meanings depending on the context, and recognizing this can help you identify boundaries within… Read More »The Power of Ubiquitous Language in Domain-Driven Design

Event-Driven Architecture Issues & Challenges

Event-Driven architecture has a lot of benefits but comes at the cost of another set of problems. Some of the Event-Driven Architecture Issues are visibility in workflows and business processes, consistency, idempotency, and consumer lag. YouTube Check out my YouTube channel, where I post all kinds of content accompanying my posts, including this video showing everything in this post. Visibility While there are undeniable benefits, the trade-offs often lead to increased complexity. One of the primary Event-Driven Architecture issues faced is visibility, especially when using messaging for workflows. Let’s consider a scenario where a client places an order. This action sends a… Read More »Event-Driven Architecture Issues & Challenges

Design Patterns for Building Resilient Systems

When the CrowdStrike incident happened, I was alarmed and notified of a degrading performance in parts of our system. That’s because we were indirectly impacted. I will provide some thoughts about how specific design patterns allow you to build resilient systems, allowing you to keep your system alive and online. YouTube Check out my YouTube channel, where I post all kinds of content accompanying my posts, including this video showing everything in this post. Fallbacks I mentioned indirectly, and that’s because I’m not a CrowdStrike customer, so I wasn’t directly affected. However, I was indirectly impacted because I leveraged third-party services that… Read More »Design Patterns for Building Resilient Systems