Domain Modeling Made Functional Paperback – 20 Feb. 2018
|New from||Used from|
- Choose from over 13,000 locations across the UK
- Prime members get unlimited deliveries at no additional cost
- Find your preferred location and add it to your address book
- Dispatch to this address when you check out
Frequently bought together
More items to explore
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
About the Author
Customers who viewed this item also viewed
Top reviews from United Kingdom
There was a problem filtering reviews right now. Please try again later.
This book is a game changer. Apart from a very clear explanation of DDD[*], the way he explains the evolution of the types, and the simple translation of the simple language that the domain expert(s) can understand into F# is very powerful. You can see how the code itself becomes the documentation. Whilst I don't see curly braces and "get; set;" in C# as noise (my mind filters them out), I can see how a non-developer would struggle to make sense of a C# class, whereas the F# type is so clear that any non-developer could understand it. The domain model can evolve with the code, documenting itself as it goes along.
As for the idea of functional programming vs imperative programming, I'm still not convinced that either has a huge advantage over the other. C# has so many functional features that the lines are becoming increasingly blurred. However, the way he demonstrates splitting the workflow into sections, and piping the output of one into the next is very clear and clean, and his use of section-specific types means you can't really get it wrong. I can see how this approach to coding could drastically reduce the number of bugs. It does lead to a type explosion, but it's probably worth the price, given how simple the types are in the first place. Again, this isn't anything you couldn't do in C#, but it looks a lot cleaner in F#.
If you're still looking to be convinced about F#, you should certainly read this book. Even if you aren't, it's probably still worth reading, as the explanation of DDD is excellent[*], and what he says can be applied to C# as well.
[*] Caveat, I haven't read any other books on DDD, so can only comment on how I found this one, not how it compares with any others
The guy explains so well that some things takeaway immediately. Ch 6, integrity and consistency, put the validation in the private constructor.
Right after reading it I started implementing the ideas of how to work with Domain Experts and how to model the problem.
Extremely practical book, I loved it!
Great introduction to DDD for those who've not had much to do with it.
The book starts with three chapters that explain strategic Domain-Driven Design very clearly. The remainder of the book details how you can use the power of the algebraic type system in F# to design the domains models we should be building to support all kinds of common requirements when working on Line of Business apps.
I cannot recommend this book highly enough.
Top reviews from other countries
En la primera parte explica qué es el Domain-Driven Design y qué beneficios tiene aplicarlo.
En la segunda parte entra más en detalle en el tema y explica cómo modelar la aplicación de ejemplo en F#. Yo no conocía F# antes de comprar el libro pero la puesta en escena del lenguaje es tan clara que me llevo un gran sabor de boca de lo interesante que sería programar en él. Reitero lo increíblemente bien que se explica este hombre.
Ya en la tercera parte, se adentra en el código razonando los porqués de la estructuración bajo el paradigma funcional.
Personalmente, compré el libro recomendado por un experto en FP y tenía razón al decir que la exposición de cómo estructurar un programa funcional es muy clara en este libro. Además, de regalo te llevas el conocer DDD.
Man kann sich Scott Wlaschin und seinen Lehrstil auf Youtube ansehen um einen ersten Eindruck zu verschaffen.