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

Is Vertical Slice Architecture better than Clean Architecture or Ports and Adapters?

Is Vertical Slice Architecture better than Clean Architecture or Ports and Adapters? You’ll hear a lot advocating for Vertical Slices and often, when doing so, trying to pin it against other types like clean, onion, ports and adapters. So which one is better? YouTube Check out my YouTube channel, where I post all kinds of content accompanying my posts, including this video showing everything in this post. Clean Architecture You might be familiar with this diagram illustrating Clean architecture. What’s defined in each ring is unimportant and there can be more or less of them. What’s important about it is the arrows… Read More »Is Vertical Slice Architecture better than Clean Architecture or Ports and Adapters?

Avoiding long-running HTTP API requests

How do you handle long-running HTTP requests that take long to complete? For example, how would you design an HTTP API that needs to generate a transcript for a specific video (by ID)? Deeper into that question, you can assume that won’t be a fast request/response, so how can we better manage this? Using asynchronous request/reply with HTTP. YouTube Check out my YouTube channel, where I post all kinds of content accompanying my posts, including this video showing everything in this post. Designing an API Endpoint This video/blog were spurred on by this post I came across on Twitter/X. I didn’t think… Read More »Avoiding long-running HTTP API requests

Enums aren’t evil. Conditional statements everywhere are

Are you seeing the same conditional statements (if/switch) against enums littered everywhere? There are different ways of handling that, but a lot of it comes down to your context. Conditionals around type checking, extension methods, Inheritance, and Polymorphism are all options. YouTube Check out my YouTube channel, where I post all kinds of content accompanying my posts, including this video showing everything in this post. Enums The original examples of this problem come from a video by Nick Cosentino, which he tagged me in. The gist is that there are a lot of conditional, in this case “if statements,” throughout a codebase… Read More »Enums aren’t evil. Conditional statements everywhere are