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

Uncategorized

Have you replaced your DB because of the Repository Pattern?

Have you been able to replace your database implementation transparently because of the use of the repository pattern? While this is a controversial question and topic, I will explain why it doesn’t need to be. Sure, you’re creating an abstraction, but an abstraction around what? YouTube Check out my YouTube channel, where I post all kinds of content accompanying my posts, including this video showing everything in this post. Repository Pattern First, we need to agree on the definition of the Repository Pattern. I will use the definition in the Patterns of Enterprise Application Architecture. Conceptually, a Repository encapsulates the set of… Read More »Have you replaced your DB because of the Repository Pattern?

What’s enough Complexity for a Domain Model?

Should you be applying domain-driven design? Do you need a domain model? You might want to if you have a lot of complexity within your domain. I often get asked, “what is a lot of complexity?”. I’m going to provide an example by uncovering more and more complexity within a domain. And give a few different insights that should help you make the decision. YouTube Check out my YouTube channel, where I post all kinds of content accompanying my posts, including this video showing everything in this post. Mounting Complexity Through this post, I’m going to illustrate an example using a shipment,… Read More »What’s enough Complexity for a Domain Model?

Blocking or Non-Blocking API calls?

When should you use blocking or non-blocking API calls? Blocking synchronous communication vs non-blocking asynchronous communication? Should commands fire and forget? What’s the big deal of making blocking synchronous calls between services? YouTube Check out my YouTube channel where I post all kinds of content that accompanies my posts including this video showing everything in this post. Communication There are 3 different forms of communication that I’m generally thinking of. Commands, Queries, and Events. I’m going to cover all three and the pros/cons of using blocking synchronous or non-blocking asynchronous with each of them. Commands With commands, it’s all about users’/clients expectations.… Read More »Blocking or Non-Blocking API calls?