Skip to content

Sponsor: Using RabbitMQ or Azure Service Bus in your .NET systems? Well, you could just use their SDKs and roll your own serialization, routing, outbox, retries, and telemetry. I mean, seriously, how hard could it be?

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

Architecture

Commands or Events: Which One for Workflow?

So, you’re building a system around business processes and workflows. Great! But where does the code go that has to orchestrate all this? This is a common question I’ve received, especially from members of my channel on our private Discord. Let’s dive into the guidelines on process managers, bounded contexts, and clever ways to collocate workflow steps. YouTube Check out my YouTube channel, where I post all kinds of content accompanying my posts, including this video showing everything in this post. Understanding Workflows Often, smaller workflows chain together to create larger workflows. Picture this: we have three different boundaries—sales, shipping, and billing.… Read More »Commands or Events: Which One for Workflow?

Screaming Architecture: Not Driven By Entities

“Manager”, “Builder”, “Factory”, or another technical name in your code structure isn’t Screaming Architecture or Vertical Slices. This post was inspired by the neverending posts I see on LinkedIn about software architecture styles and concepts. Let’s be real: The signal-to-noise ratio isn’t great, and many posts miss context and nuance. So, let’s unpack some thoughts on this. YouTube Check out my YouTube channel, where I post all kinds of content accompanying my posts, including this video showing everything in this post. Vertical Slice Architecture First up is the ever-popular vertical slice architecture, which seems to be widely misunderstood. One post I came… Read More »Screaming Architecture: Not Driven By Entities

Multi-Tenant: Database Per Tenant or Shared?

When building a multi-tenant application, one of the first decisions revolves around data management: Should you use a shared database or a database per tenant? YouTube Check out my YouTube channel, where I post all kinds of content accompanying my posts, including this video showing everything in this post. Shared Database Let’s start with the shared database model. In this scenario, tenant A and tenant B are hitting the same API, connecting to the same database instance with the same schema. This means you need to record tenant information alongside the data you are persisting. For example, customer data might look like:… Read More »Multi-Tenant: Database Per Tenant or Shared?