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

Derek Comartin

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!

Events are an API. Treat them like one.

Events are an API in an Event-Driven Architecture. Treat them that way. Often, events are thought of as either domain events or integration events. But there’s more of a distinction to be made. Here’s a slightly different way of thinking about events that can impact your system long-term using an Event-Driven Architecture. YouTube Check out my YouTube channel, where I post all kinds of content accompanying my posts, including this video showing everything in this post. Domain vs Integration I think the most common distinction people make if they are making a distinction, is between domain and integration events. Domain events are… Read More »Events are an API. Treat them like one.