The source code for this blog is available on GitHub.

Ani's Dev Blog

Domain Driven Design

Cover Image for Domain Driven Design
Anirudh Sevugan
Anirudh Sevugan

Domain Driven Design is basically a set of rules for when you program, especially when you have teams you're working with and are making enterprise applications.

Domain Driven Design is complicated and has many things involved like Ubiquitous Language, but when you think about it it all just boils down to a few simple things.

Imagine you have bags for food. Instead of placing chocolates, sandwiches, fries, and cereal bars all in the same bag, why not organize them? Seems like a good idea, right? Well it is the core of Domain Driven Design. To help you understand better, let's think about something new.

Imagine if you were in a team filled with several people. You write messy code that is unorganized and (even worse), unclear. Other collaborators might not know about your shenanigans, and even if they do, they'll leave one day. If you have messy code like this, imagine what will happen!

If you're running a company, it could break down into pieces!

If you're working for a company, you'll leave them in a tough state, potentially reducing job opportunities.

If you're working on a project, it'll become harder to maintain.

That's why Domain Driven Design is so important!

It both helps you and everybody else keep organized and stay stable!

If you want to learn more about Domain Driven Design, check out this book!