DDD - Database Driven Design

DDD as in Database Driven Design, is way more popular than Domain Driven Design. 🤦‍♂️ But please stop doing it!

DDD - Database Driven Design
THE System Design
It's whenever the ✌️"architect"✌️ is ✌️"designing"✌️ the ✌️"system"✌️ through a relational database schema diagram. 🤦‍♂️

I've seen this time and again. And again. And again...

It's when poor system architecture is implemented due to database schema constraints.

It's when the data persistence model becomes the domain model.

It's like doing modern days' Visual FoxPro.

🤮


Just... don't! 😔

Call yourself a software engineer 🚫 (let alone architect) if you're doing it.


Please... try! 🙏

🚫 Not to open DB artifacts in Visio / draw.io / similar when designing a system.

✅ To start designing Flows, Components, Activities, Sequences. Forget about DB when designing.

If designing a quickie (PoC, dev testing, playgrounds, yesterday-bound deliverables), fire up Visual Studio / Rider / your prefered IDE and model your domain; start from there. Forget about DB when designing.


DO NOT 🚫

Do Database Driven Design! Please, be storage-agnostic!