This book starts with a discussion of Domain Driven Design, and then shows to how to model a design using types. The last part shows how to implement the design using functional programming with F# (composition of functions, “railway-oriented programming” for error handling, etc).
Here are some of the 5 star reviews
“This is a fantastic book for anyone looking to dive into Domain Driven Design using F#, or any functional language for that matter.”
“One of my favourite software development books ever. It will be a game changer for C# devs who are willing to step outside their comfort zone and learn functional programming. They could be the most important 300 pages of text that you’ve ever read.”
“Really well written and clear. Explains some very complex topics from F# in an approachable and simple manner.”
“A great book on software design which I would recommend to any developer.”
“Eye opening. One of the better programming books that I’ve read in a long time.”
How to buy it
NOTE: Some people have had issues with the formatting on the Kindle version. For all eBook formats (including .mobi) I recommend buying directly from the Pragmatic Programmers site (eBook and paper).
If you enjoy the book, I’d be grateful if you could leave a review on the Goodreads page.
How is it different from the content on this site?
It does have some chapters on stuff I haven’t blogged about (yet) such how to design a functional architecture, two whole chapters on serialization and persistence of algebraic types (important but not often covered in detail), and how to evolve an existing design.
Reading offline? I have compiled all the pages of this site into an ebook using GitBook. Available in ePub, Mobi/Kindle and PDF formats.
This site contains a lot of words. If you printed out the PDF above, it would be about 2000 pages! I want to keep this site ad-free, so if you find the content useful, please donate the price of a few beers to help keep it up.