Wine, grapes and DDD

A while ago I sealed up a few bottles of home made wine (created only for oenology purposes ofc.) Somehow, maybe because of winter’s time, my memory resurfaced these moments and connected them with something I’m working now currently, which is connected with Domain Driven Design. Is there any way the process of producing wine and DDD could be connected? Let’s take a look.

Just grapes

Before smashing fruits, I had them cleaned and separated from the bunches. There were just soaked in water and waiting. There was no connections visible.

grape_1

They have color

Stating that all the grapes are the same would be a huge misunderstanding, especially, if you use different kinds of grapes. Clearly, they could be grouped by some criteria, like color, shape, sweetness (nope, I don’t bite every single grape :P). This would create a kind of categorization of the grapes.

grape_2

If you’re interested in Domain Driven Design, aggregates and modelling domains, take a look at Master of Aggregates.

This might look like this

The last but not least, is imaging what bunches could look like. Again, seeing through the criteria lenses we can guess or spend more time on investigating what kind of model might be applied to make sense out of it. It’s worth to notice that grapes of the same kind may come from the same tree, but different bunches, so there’s no reason to try to imagine extremely large bunches. Match them by criteria but do not load everything to single thin branch. It wouldn’t be able to hold it up!

grape_3

This is the model

At the end, the final picture represents a model. Something that might be true, something that might be summarized as “this is how I think it works”.

In this example I inverted the process of making wine, which hopefully nobody will try to apply. Still, I think it is an interesting metaphor for finding and distilling (pun intended) your models.

2 thoughts on “Wine, grapes and DDD

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s