To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyzes reviews to verify trustworthiness.
Scott's book starts off w/analysis, not coding. This is an underdiscussed stage of process development. It leads naturally into the design/coding parts. He shows how the concepts are captured in each department of a business, and how to bridge them successfully in a single system. It permits the local concepts to be silos, but finds a way to carry them across in a way that isn't too tight (requiring cooperative evolution) nor too weak (causing subversion of the interfaces).
Scott is an excellent F# explainer. He frames useful, believable examples in ways that show off the special qualities of F#. Lots of devs will think they don't need F# and can port the ideas to their platform. They should really try F# before dismissing it, though; the benefits are real (concise, bug-resistant, easier for non-devs to read). It can be ring-fenced in a part of the product (e.g. "the business logic") if the other system parts must be coded otherwise.
I resisted buying this book for a bit because I thought I could find most of this information at F# for Fun and Profit, a website the author maintains. While you can find much of this information there, it's a bit fragmented, as that site is really geared towards getting people on-boarded to F#, in general, especially when coming from an OOP background such as C#. It's great content, but this book really takes that content and uses a different example to illustrate how DDD is "done" in functional programming, specifically with F#. If you're a fan of Scott Wlaschin and of F# for Fun and Profit, you won't be sorry to pick up this book if you're looking to take your FP skills no the next level after coming from an OOP background. Thanks for the book, Scott!
This is a gem of a book! I learned “the best bits” of requirements gathering, domain driven design, type driven design, hexagonal architecture, functional programming, monads, and oh right — F#! Clearly, I learned more than I bargained for... and that’s a great thing.
The definitive evidence that statically typed functional languages are the best fit for DDD. Mr Wlaschin is as clear and concise as ever, and somehow manages to pack tons of knowledge on every page in an enjoyable and readable fashion. I would recommend this book for all programmers interested in learning DDD, functional programming or both.
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.
This book changed my mind. I though that DDD fits Object Oriented best. But now I might not use OOP for my new projects. Scott explains things in a way that you understand clearly without any effort. I have finished about 36% of the book but it is more than enough to vote 5 over 5.