What do you see in the picture? A piece of cardboard? Some junk? No! — It’s a model!

Thread on models and bounded contexts 1/9

#DDDesign #BoundedContext

It’s a model of the Siemens KG86NAI31L fridge. The cardboard doesn’t look anything like the fridge? — That’s true but not important. A model is not a copy of a real-world entity but a construct supposed to solve a problem. 2/9
Hence, the correct question to ask is: what problem does this model solve? In our apartment, we have a weird entry to the kitchen. The cardboard’s is in the size of the fridge’s width and depth, and the problem it solves is checking whether it can make it through the door. 3/9
As the saying goes, all models are wrong, but some are useful. This model is wrong in many different ways. Nevertheless, it is useful. It helped us to decide whether to buy the fridge or look for a smaller one. 4/9
Building an exact, 3d cardboard copy of the fridge would definitely be a fun project! But would it make the solution any better or more precise? No. If the 2d model fits, a 3d model will fit as well. 5/9
But what about the fridge’s height? What if the base fits, but it’s too tall for that door? Would that justify building a 3d cardboard fridge? — Nope. A simple tape measure does the job. What is a tape measure in this case? — Another simple model. 6/9
So we have two models of the same fridge to check whether it can make it through our weird kitchen door. That piece of cardboard and a tape measure reflect the DDD’s approach to modeling business domains. 7/9
A domain model should omit the extraneous information irrelevant to its task. Also, no need to design a complex jack-of-all-trades model if multiple, much simpler models can effectively solve each problem individually. 8/9
Finally, a model is only valid for the specific problem it is supposed to solve: its bounded context. 9/9

More from Design

You May Also Like

And here they are...

THE WINNERS OF THE 24 HOUR STARTUP CHALLENGE

Remember, this money is just fun. If you launched a product (or even attempted a launch) - you did something worth MUCH more than $1,000.

#24hrstartup

The winners 👇

#10

Lattes For Change - Skip a latte and save a life.

https://t.co/M75RAirZzs

@frantzfries built a platform where you can see how skipping your morning latte could do for the world.

A great product for a great cause.

Congrats Chris on winning $250!


#9

Instaland - Create amazing landing pages for your followers.

https://t.co/5KkveJTAsy

A team project! @bpmct and @BaileyPumfleet built a tool for social media influencers to create simple "swipe up" landing pages for followers.

Really impressive for 24 hours. Congrats!


#8

SayHenlo - Chat without distractions

https://t.co/og0B7gmkW6

Built by @DaltonEdwards, it's a platform for combatting conversation overload. This product was also coded exclusively from an iPad 😲

Dalton is a beast. I'm so excited he placed in the top 10.


#7

CoderStory - Learn to code from developers across the globe!

https://t.co/86Ay6nF4AY

Built by @jesswallaceuk, the project is focused on highlighting the experience of developers and people learning to code.

I wish this existed when I learned to code! Congrats on $250!!