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

Do you really need that abstraction or generic code? (YAGNI)

You Aren’t Gonna Need It. The essence of YAGNI is simple: don’t build something today that you assume you’ll need in the future. However, there’s a nuance here because we also don’t want to handcuff ourselves. Let’s explore how this principle applies both to features and technical implementation. YouTube Check out my YouTube channel, where I post all kinds of content accompanying my posts, including this video showing everything in this post. The Two Sides of YAGNI First, let’s break down how people often think about YAGNI. On one hand, there’s the feature side. When developing a product, you might think you’ll… Read More »Do you really need that abstraction or generic code? (YAGNI)

DRY principle is why your codebase sucks?

DRY Principle is seemingly advocated for or against. In reality, it’s not good or bad so as long as you understand why you’re applying it and for what purpose. Misunderstanding DRY is why your system can turn into a hard to change rats nest. YouTube Check out my YouTube channel, where I post all kinds of content accompanying my posts, including this video showing everything in this post. Don’t Repeat Yourself (DRY) When it comes to DRY, opinions are all over the map. Some folks swear by it, while others argue it’s the worst idea ever. The truth? It’s not inherently good… Read More »DRY principle is why your codebase sucks?

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