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

Architecture

Minimal APIs, CQRS, DDD… Or Just Use Controllers?

You’ve probably seen this meme floating around, and it’s funny. Why? Because there’s some truth to it. At one end, we just have MVC controllers. At the very opposite end, simply MVC controllers again. But there in the middle lies all the abstraction, libraries, tools, etc. The list goes on. YouTube Check out my YouTube channel, where I post all kinds of content on Software Architecture & Design, including this video showing everything in this post. So, who’s right? Well, like most things in software, it depends. But the answer “it depends” is ridiculous unless you say it depends on… which I’m… Read More »Minimal APIs, CQRS, DDD… Or Just Use Controllers?

Composing Data from Multiple Services

One of the most common questions I get is how to compose data when different services each own their own data. You might have product details owned by the catalog service, pricing owned by sales, reviews owned by a reviews service, shipping information somewhere else, and order counts somewhere else. How do you get all that data together so you can render a UI or generate a report? YouTube Check out my YouTube channel, where I post all kinds of content on Software Architecture & Design, including this video showing everything in this post. The Problem: Where do you do the composition?… Read More »Composing Data from Multiple Services

Loosely Coupled Monolith – Software Architecture – 2025 Edition

Over five years ago, back in 2020, I posted a series of blog posts and videos outlining what the Loosely Coupled Monolith is. I was recently tagged in a post saying they read those original posts and moved forward with the concept. In this article/video, I want to share with you the core ideas behind the Loosely Coupled Monolith, focusing on three key points: cohesion, managing coupling, and the realization that your logical boundaries aren’t your physical boundaries. We’ll circle back to these points at the end, and I think they’ll really make you rethink the last decade or so… Read More »Loosely Coupled Monolith – Software Architecture – 2025 Edition