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

Goodbye, long procedural code! Fix it with workflows

We’ve all written long procedural code with many logic branches that must handle failures because it tries to execute a long business process with many actions. Better alternatives exist than writing a rat’s nest of complex procedural code. YouTube Check out my YouTube channel, where I post all kinds of content accompanying my posts, including this video showing everything in this post. Procedural We’ve all probably written or looked at code similar to the following. It does a few things: first, it adds and saves an order to the database; then, it tries to process the credit card payment; and lastly, it… Read More »Goodbye, long procedural code! Fix it with workflows

Beware! Anti-patterns in Event-Driven Architecture

Event-driven architecture has patterns and common practices that are solutions for various problems. The issue arises when you apply these patterns when you don’t have the problem they solve, or you can avoid having the problem in the first place. Here are some patterns and why the might become anti-patterns in a given context. YouTube Check out my YouTube channel, where I post all kinds of content accompanying my posts, including this video showing everything in this post. Leaking Internals If each service has it’s own storage/database, then we need to be cautious about leaking schema and data that we don’t want… Read More »Beware! Anti-patterns in Event-Driven Architecture

The Bulkhead Pattern: How To Make Your System Fault-tolerant

Keep one small part of your system from taking down the entire system. Let’s look at the bulkhead pattern, the various ways you think about it, and how it applies to your architecture, which will help you with fault tolerance to keep your system running. YouTube Check out my YouTube channel, where I post all kinds of content accompanying my posts, including this video showing everything in this post. Problem With a large system, it’s easy for one part to affect the performance of other parts. This is true for monoliths but also for more distributed service-oriented systems. Most systems have heavily… Read More »The Bulkhead Pattern: How To Make Your System Fault-tolerant