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

Free your HTTP API. Misconceptions are holding you back!

We all get caught in the trap of following various practices because everyone else is and seems like an industry standard. So here are three HTTP API Misconceptions that will make you start thinking about your system and other best practices you’re applying. YouTube Check out my YouTube channel, where I post all kinds of content accompanying my posts, including this video showing everything in this post. Custom Headers The first of the HTTP API Misconceptions is about custom headers. This is a great example of just following the herd and assuming that because everyone else does it “this way”, then that’s… Read More »Free your HTTP API. Misconceptions are holding you back!

Want to build a good API? Here are 5 Tips for API Design.

Want to build better APIs that can evolve over time as your system requires changes? Over time, your API is going to change. It just will evolve, and you don’t want to handcuff yourself. Here are five tips that will help you change your API design over time without creating breaking changes. YouTube Check out my YouTube channel, where I post all kinds of content accompanying my posts, including this video showing everything in this post. Generating Identifiers Where do you generate identifiers? When I say identifier (aka ID), most would be thinking about a database and primary key. It’s typical to… Read More »Want to build a good API? Here are 5 Tips for API Design.

Domain Modeling Gone Wrong to Right

So, you are applying domain-driven design and want to define aggregates. Let’s go over ways to define them with an example domain, and you might be surprised by the outcome. Domain modeling is about capturing domain concepts not just as data and relationships but exposing behaviors. YouTube Check out my YouTube channel, where I post all kinds of content accompanying my posts, including this video showing everything in this post. Preface This is a continuation of Part 1, where I reviewed a common domain modeling approach, which I disagreed with and explained why. The TLDR is you cannot start domain modeling by… Read More »Domain Modeling Gone Wrong to Right