Learning Domain-Driven Design Book Club

Learning Domain-Driven Design

Building software is harder than ever. As a developer, you not only have to chase ever-changing technological trends but also need to understand the business domains behind the software. This practical book provides you with a set of core patterns, principles, and practices for analyzing business domains, understanding business strategy, and, most importantly, aligning software design wit business needs.

3 Likes

I have compiled my thoughts of the first chapter in a small video and tried to combine it with other knowledge I think most people forgot.

To me, the most interesting part of this research was the absolute delight of being able to read the Nato’s report on software engineering from 1968, and how strangely relevant it still feels today:

http://homepages.cs.ncl.ac.uk/brian.randell/NATO/index.html

Let me know what you all think of the first chapter. Suggestions for the video format are also appreciated, since I am still learning this and make a best effort to improve.

1 Like

Nice one Pedro - I’ll be curious to hear what you think, esp in terms of Elixir and Phoenix Contexts etc :023:

I have that book. I will be joining in! Since I am all about F# these days, I’ll share my thoughts through a sharp lens!

2 Likes

Well, thanks !

I am currently a little bit more advanced in the book. However, doing research, compiling my thoughts and putting it all in a 10-15 minutes video format (so people can listen while doing chores, for example) is something that does take some time.

My objective is to put a video about a chapter every 2-3 weeks (depending on how busy I am with work/life).

But since you did mention elixir specifically, I will give you all a hint on some work I did a while ago, specifically tailored to one of the chapters in this book:

This is for chapters 6-7. But we are a long way from them (at least 9 weeks before I get there with the format I have in mind xD).


Anyway, if you folks have any suggestions to improve the videos, let me know. I am still new at this, but I also want to make videos that people enjoy listening to. This way they are more likely to learn!

2 Likes

Interesting domain. Also, I have always believed that DDD should often work hand-in-hand with diagramming (like the C4 model), and working on the actual framework.

1 Like

I usually use Mermaid graphics for this. Can you give an example of what tools you use and what the C4 model looks like? I am unaware of that type of diagram.

1 Like

C4 Model is proposed by Simon Brown. It is a collection of context diagrams to visualise the application architecture.

I use both Mermaid and PlantUML. MermaidJS is a handy choice because most markdown editors support it. However, the graphics often become messy on Mermaid C4.
PlantUML supports a manual re-position and can make sure the graphics are readable.

Structurizr is the recommended choice but the support on most editors is limited.

2 Likes

I think C4 with Mermaid would be hard, D2 is my go to diagraming tool and it will take some efforts with that too.

You can look into Mingrammer. It has C4 capabilities and I will try tomorrow morning.

1 Like

Wait looks like with Mermaid you can do it too but both the syntax and the diagram looks less than desirable

2 Likes

Hello folks!
Thank you all for the interest in this book! We have a lot to cover!

With this said, I present you the summary of chapter 2:

For me, the funniest moment was to discover who Alberto Brandolini was and how it took me to the Bradolini’s Law, the bullshit asymmetry principle.

The most important part for me was to understand the crucial importance of mental models, and how your understanding of the problems shapes our solutions!

Let me know what you all think !

1 Like