Books
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).
“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.”
Buy direct from the Pragmatic Programmers site (eBook and paper)
Buy from Amazon US (affiliate link)
Buy from Amazon UK (affiliate link)
Buy from Amazon DE (affiliate link)
Buy from The Book Depository (Free delivery worldwide)
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.
Many of the topics in the book are similar to posts on this site, but the book has a proper structure and a consistent example running through it.
Also, it does have some chapters on stuff I haven’t blogged about (yet) such as understanding DDD, 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.