Goodreads helps you keep track of books you want to read.
Start by marking “Domain Modeling Made Functional: Tackle Software Complexity with Domain-Driven Design and F#” as Want to Read:
Domain Modeling Made Functional: Tackle Software Complexity with Domain-Driven Design and F#
Enlarge cover
Rate this book
Clear rating
Open Preview

Domain Modeling Made Functional: Tackle Software Complexity with Domain-Driven Design and F#

4.53  ·  Rating details ·  264 ratings  ·  43 reviews
You want increased customer satisfaction, faster development cycles, and less wasted work. Domain-driven design (DDD) combined with functional programming is the innovative combo that will get you there. In this pragmatic, down-to-earth guide, you'll see how applying the core principles of functional programming can result in software designs that model real-world requirem ...more
Paperback, 260 pages
Published November 25th 2017 by Pragmatic Bookshelf
More Details... Edit Details

Friend Reviews

To see what your friends thought of this book, please sign up.

Reader Q&A

To ask other readers questions about Domain Modeling Made Functional, please sign up.

Be the first to ask a question about Domain Modeling Made Functional

Community Reviews

Showing 1-30
Average rating 4.53  · 
Rating details
 ·  264 ratings  ·  43 reviews


More filters
 | 
Sort order
Start your review of Domain Modeling Made Functional: Tackle Software Complexity with Domain-Driven Design and F#
Mark Seemann
Nov 22, 2018 rated it really liked it
Shelves: software
If you'd like to understand why F# (or statically typed functional programming in general) is useful for everyday 'enterprise' development, then this is the book for you.

You don't have to know F# already. While this isn't an introduction to the F# programming language as such, Scott gives you enough of an introduction that you'll be able to understand what's going on. Instead of using half the book to introduce the language, he shows you just enough, and then he keeps the example code in the boo
...more
Sebastian Gebski
Aug 11, 2017 rated it it was amazing
Based on Beta 1.0 - 2 final chapters still missing.

PragProg doesn't disappoint, but as I've never read any decent book on functional modeling, my initial enthusiasm was rather limited. Additionally, I'm not really keen on F# (as a language) - its OCaml inspiration doesn't impress me, I generally try to avoid F-OO hybrids.

And then, enters Scott Wlaschin. Needless to say, he's not an anonymous person (quite far from that - https://fsharpforfunandprofit.com/), but still - this guy has just accompli
...more
Nikolay Hodyunya
Very beginner-friendly exposition of DDD concepts with examples written in F#. Everything begins from scratch so no prerequisites required.
apollojet
Feb 25, 2019 rated it did not like it
Ok, so there's one were this girl — I knew she have a husband, but also I knew she wasn't fond of the sucker. She was kinda chubby but qute; and also that was the kind of chubby that makes one's breast grow along with the fat percentage. So she invited me home and we fucked. Several times. And it was fine. But it seemed to me like the fact that it happened mattered for here more than enjoyment or our friendship itself.

Now I know how girls feel when guy immediately starts to dress up after he ca
...more
Sergey Shishkin
Mar 16, 2018 rated it really liked it
That's a great book on software design which I would recommend to any developer, no matter of programming language preferences. Scott has a rare ability to explain complex stuff in approachable way through analogies and examples.

I found some code samples quite trivial and mundane for a book, thus 4 stars.
Jo
Apr 04, 2018 rated it really liked it
Shelves: self-learning
Brilliant introduction to Domain-Driven Design, designing with types in F# and "railway-oriented programming".

If you have an interest in any or all of these topics, this book takes an entire feature, from discussing with business stakeholders over designing your code purely on a type level to implementing the actual business logic in a clear cohesive story. It even touches on async/error handling, something a lot of introductory material is very handwavey about and shows how to tackle these conc
...more
Torben Koch
Oct 20, 2018 rated it it was amazing
Scott made a book by basically distilling, rewriting and ordering a lot of the material on his website. And he did good!

There is a fine introduction to DDD and a lot of neat tricks on how to do it in F#.

Downloading the accompanying code will probably make a dent in your admiration for Scott, though. Functional programmers are seemingly in general lazy people and consistently forget the WORM - Write Once, Read Many - aspect of programming.
Darius
Apr 18, 2020 rated it it was amazing
I wish I had this book 5 years ago when functional paradigm and F# became part of what I do.

Even though we are all introduced to functional principles in school (without calling it functional, we just called it math) and later (I'm sure some even earlier) in Excel, it is not easy to isolate the afterwards acquired procedural and object oriented thinking. At that moment one has to reserve an innocent place in one's brain to fully embrace the functional paradigm without carrying the old habits al
...more
Gregor Riegler
Jun 16, 2020 rated it it was amazing
Shelves: recommendations
This Book explains the thought process of Software Design using the Functional Paradigm very well.
It's not about the language F#, it's about the paradigm. I do not use F#, nor am i'm planning to.
Still, the book had a lot of value to me.

A key learning is how to take advantage of Types to achieve a better Domain Model.
For me, a OO Guy digging into FP, it was a mind opener.
It teached me how to think in workflows, how to compose and streamline testable functions, how to inject dependencies using p
...more
Marcin
Mar 04, 2019 rated it really liked it  ·  review of another edition
This is a fantastic introduction to both DDD and Functional Programming in a very accessible book. Being grounded in a very concrete and coherent example it's really easy to relate to the ideas presented in the book.
If there is anything I felt lacking from the book, it would be a little more examples of tests and driving implementation with tests alongside driving it with the type system.
Yannick Grenzinger
Apr 06, 2020 rated it it was amazing
Surely one of the best book how to implement the tactical part of DDD in a functional way.
Totally practical, avoiding Category Theory, and giving a lot of knowledge about how tu use functional programming and types to implement a very robust domain.
Thomas
Feb 08, 2020 rated it really liked it
Awesome book for anyone interested in domain modelling!
Jon
Feb 13, 2020 rated it it was amazing
Shelves: technical, 2019
Great read on how to architect your code and make your code easy to understand, use, and change all while make it hard to introduce bugs.
Danien
Jun 09, 2017 rated it really liked it
This is an introductory book and does not cover more advanced functional programming topics, nor does it cover Domain-driven Design (DDD) in detail (see Eric Evans' Domain-Driven Design: Tackling Complexity in the Heart of Software and Vaughn Vernon's Implementing Domain-Driven Design), but it does a good job of explaining how functional programming is a great fit for DDD with clear use of examples.

The author does a good job of starting with simple but naive approaches to software design problem
...more
Bugzmanov
May 24, 2019 rated it really liked it
Shelves: 2019
It is a good intro book on doing DDD functional way. To a degree, it's covering the same topic as "Functional and Reactive Domain Modeling" by Debasish Ghosh. But it's significantly shorter and with more evident emphasis on types driven development.
While Ghosh's book is about "i learned about FP, now I want to understand how to write business applications in this style", this one is more about "I know how to do DDD, how can I do it in fp style? But please no category theory this time"

It's a shor
...more
Gábor László Hajba
Oct 23, 2017 rated it it was amazing
Shelves: computer-science
I liked the book because it brought the domain concepts and functional programming using F# together in a well-designed way.

I suggest reading this book if you are interested in implementing DDD. Regardless of the language because the principles described here can be applied in any programming language -- you just have to think a bit more if your choice doesn't support FP -- and such a language is rare to find nowadays.
Tiantang Sun
Feb 22, 2018 rated it it was amazing
I am a little half way through the book but don't think I will change my review when I finish. It's simply super! Coming from an OO background, it's mind-blowing for me to see how to do things in a functional way and how to design things differently.
I think this is a must read for anyone who wants to start DDD and F#. Of course it's intended to be a relatively beginning book but it's just the right level of depth for me.
I do hope the author would write a more in depth book about DDD and F#!
Tomi Turtiainen
May 20, 2019 rated it it was amazing
This book is just great! It gives a great introduction to DDD and then moves on to show how you can do domain modeling with functional programming. Although the examples are in F#, the book focuses more on explaining and showing functional programming concepts you can use to tackle complexity. I can highly recommend this to anyone who is interested in doing functional programming in complex domains.
Erich Oswald
Dec 09, 2019 rated it really liked it
A great introduction with actionable recipes for getting from requirements to a functional domain model.

The introduction to functional programming concepts is oriented towards real beginners. I could have used something like that a few years ago. Now it wasn't really necessary anymore.

Things I would have liked: additional material about effect-oriented approaches (using monad transformers or effect rotation as in ZIO).
Bart Sokol
Aug 22, 2018 rated it really liked it
If you're familiar with Scott's work (his website, presentations etc.) then you'll find some things in the book a little bit repetitive, but otherwise, it's a great read. It shows how nicely the principles of domain-driven design fit into the functional paradigm and how powerful type system can help you to model the domain and quickly find any potential issues.
Ahmad Bamieh
Sep 23, 2018 rated it it was amazing
One of the best books I've read in a while. Scott takes a step by step approach to explain Domain Driven Design (DDD) and its implementation in a functional way using F#. DDD is fantastic for building applications for businesses. Combined with the power of functional programming, Scott reflects how this approach can be used to build truly scalable and evolving models.
Ferdinando Santacroce
Mar 18, 2020 rated it it was amazing
Shelves: programming
A great book, liked it.
A very good distillation of DDD, an interesting picture of F# and it's powerful Type System, and some Functional concepts and wisdom.

Don't buy it if you want to learn FP. It's not a book that wants to tech you one particular argument (DDD, FP, F#), but "only" a demonstration of how the "three amigos" can play well together.
Daniel Wellner
This book was not for me, I guess.
Being familiar with OO -based DDD, but an F# newbie, I was hoping to learn a lot about domain modeling in F# and FP. While I learned a lot about FP and F# in general, I felt the book bid not live up to the domain bit of the title. I was also disappointed that event sourcing was not covered in this book at all.
Lin He
Sep 23, 2018 rated it it was amazing
Easily one of the best functional programming books I read over the last ten months. You will learn how functional programming empowers you to write SOLID programs without the verbosity of OOP design patterns. I highly recommend this book to all programmers!
David Lowe
Dec 25, 2018 rated it it was amazing
Great book!

Most tech books are a bit of a slog for me to read. But this one reads very well, almost like a story as you want to read it from front to back and not skip anything!

Will definitely read it again.
Banner B Schafer
Mar 18, 2020 rated it it was amazing
This book provides excellent insight in the process of creating software. More specifically gathering specifications and representing them in code. There are many valuable examples provided. The style is both informative and engaging.
Dracanus
I struggle to read technical books (I'm working on it) and this took me a while to get through. I'll definitely be reading it again because it has a lot of information on offer.
You don't need to know F# to read this, the concepts used are explained really well.
Johan Oelrich
May 26, 2020 rated it it was amazing
The book gives an example of how to create a larger system using functional programming and DDD. The focus is heavily on solving the problem and communicating the solution to non-programmers. I found it a really good introduction to DDD and thinking about system design.
PAD
May 19, 2018 rated it really liked it
This is not an introductory text about DDD but it ends up enhancing my understanding on DDD. The book demonstrates very well how functional programming is a good tool for practicing DDD.
Matthias
Jun 04, 2018 rated it it was amazing
Great book overall - some parts might be a bit too simple, but this is clear and concise work which helped me a lot to improve my knowledge about domain-driven design and F#.
« previous 1 next »
There are no discussion topics on this book yet. Be the first to start one »

Readers also enjoyed

  • Designing Data-Intensive Applications
  • Domain-Driven Design: Tackling Complexity in the Heart of Software
  • The Unicorn Project
  • The Pragmatic Programmer: From Journeyman to Master
  • Patterns Principles and Practices of Domain Driven Design
  • Effective Java
  • Learn F#
  • Working Effectively with Legacy Code
  • Clean Code: A Handbook of Agile Software Craftsmanship
  • Refactoring: Improving the Design of Existing Code
  • Head First Design Patterns
  • Accelerate: Building and Scaling High-Performing Technology Organizations
  • The Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win
  • An Elegant Puzzle: Systems of Engineering Management
  • Domain-Driven Design Distilled
  • Team Topologies: Organizing Business and Technology Teams for Fast Flow
  • The Little Schemer
  • Elixir in Action
See similar books…

Goodreads is hiring!

If you like books and love to build cool products, we may be looking for you.
Learn more »

Related Articles

San Francisco is a gold rush town. There aren’t many books about people in their 20s who move to Silicon Valley with dreams of earning a living wag...
34 likes · 1 comments