DDD (Domain Driven Design) and F#

Ivan Terekhin
2 min readMay 28, 2022

As a human person (and as a developer, despite my shitty code) I respect the DDD approach (Domain Driven Design) and I think it is a really cool conception which feels like a more proper thing for IT system design. Also, it is more AGILE thing in terms of development process (involving domain experts early, more domain knowledge for developers, etc…).

Also, I like the functional programming approach; I loved it at my early ages (in the university, OCaml, Haskell ❤). And I mean the real functional programming, not just the “let’s add some lambdas here and tadam! it is functional programming”. Nope, I’m about monads, workflows, the overall FP conception. And it fits nicely with the DDD approach.

A few days ago I had a look at what is happening in the OCaml world and looked at the F# (.NET implementation, and yeah, I know, it is not a precise definition for F# and OCaml). And this is a growing thing! New versions, new books, new talks!

I read the https://fsharpforfunandprofit.com/ and it is an absolutely wonderful thing! It is a joyful reading experience. And you can find the DDD book (through the F#) in https://fsharpforfunandprofit.com/books/. I read around 75% of this book and I am really excited. Even if you will not use the F# or the DDD conceptions — you will just enjoy the book, I promise!

--

--

Ivan Terekhin

Mobile developer (Android, iOS, Flutter), AI and GameDev enthusiast. http://clover-republic.com/