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

Software Design

Not everything is a service.

I need to create an email service within my system. The service’s responsibility is to send out customer emails for things like Order Confirmation or when Billing information is changed. But how do we communicate with this email service when we need to send an email? There’s another intuitive option that starts when you realize that not everything is a service. YouTube Check out my YouTube channel, where I post all kinds of content accompanying my posts, including this video showing everything in this post. Event-Driven The first option would be using an event-driven architecture and the publish-subscribe pattern. In this scenario… Read More »Not everything is a service.

The WORST Domain Modeling Mistakes!

What is the worst mistake you can make when modeling a domain? I was asked this question by a member of my channel on our private Discord. Before giving you my answer, I decided to post this to the community for their take. Here are a few that were interesting and that I’m going to elaborate on and give some more insights into why these are common mistakes when modeling a domain. YouTube Check out my YouTube channel, where I post all kinds of content accompanying my posts, including this video showing everything in this post. Theme I asked this question on… Read More »The WORST Domain Modeling Mistakes!

ORMs can lead to FAT domain models. Slim them down!

ORMs and how you persist data can significantly impact your design and lead to fat domain models. Data is critical, but how you capture that data can lead you down a path where you need to realize the compromise you’re making. I will show an example of how not all data is created equal. YouTube Check out my YouTube channel, where I post all kinds of content accompanying my posts, including this video showing everything in this post. What do you care about? When you’re thinking about a domain and modeling it, what do you care about? Most often, developers focus on… Read More »ORMs can lead to FAT domain models. Slim them down!