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

Persistence Ignorance is Overrated

If you’re using an ORM and creating “domain entities” you’re likely trying to force your database structure into your domain model. That can work but the point of persistence ignorance is to let you domain model shine without knowing how it’s persisted. But you’re data structure will force you down a certain path if you treat your data model as your domain model. YouTube Check out my YouTube channel, where I post all kinds of content accompanying my posts, including this video showing everything in this post. Persistence Ignorance Persistence ignorance is a great concept, but in practice, it’s a little harder… Read More »Persistence Ignorance is Overrated

Never rewrite code?

Is it a bad idea to rewrite code or an entire system? At some point, developers want to rewrite for various reasons. Often, it’s because we simply don’t understand the existing codebase or think it’s a tire fire. But is the benefit there? Sometimes, yes. Sometimes, no. It’s a pretty nuanced topic around cost/benefit. YouTube Check out my YouTube channel, where I post all kinds of content accompanying my posts, including this video showing everything in this post. Rewrite When it comes to software development, the debate over whether to rewrite code never ends. Some developers always want or have the urge… Read More »Never rewrite code?

API Error Messages for a GOOD Developer Experience

Debugging and troubleshooting are a big part of a developer’s day-to-day. Because of this, when designing your APIs, provide good API error messages as well as guide developers down a path of success and makes it easier for them to understand issues when they need to troubleshoot. YouTube Check out my YouTube channel, where I post all kinds of content accompanying my posts, including this video showing everything in this post. Meaningful Error Messages When designing an API, it’s important to consider the experience of the developers who will consume it. A well-structured error message can serve as a guiding light, illuminating… Read More »API Error Messages for a GOOD Developer Experience