Books

Books : reviews

Scott Wlaschin.
Domain Modeling made Functional: tackle software complexity with domain-driven design and F#.
Pragmatic Bookshelf. 2018

You want increased customer satisfaction, faster development cycles, and less wasted work. Domain-driven design (DDD) and functional programming is the innovative combo that will get you there. Applying the core principles of functional programming results in software designs that model real-world requirements elegantly and concisely. Examples from business domains, with code in F#, show you how to build software that is business-focused, flexible, and high quality.

Model a complex domain using the F# type system, creating code that is also readable documentation. Encode business rules to create “compile-time unit tests,“ and eliminate potential bugs by making illegal states unrepresentable. Discover why functional programming and DDD lead naturally to service-oriented architectures. Create a functional domain model that works with traditional databases, NoSQL, and event stores, and safely expose your domain via a website or API.

Solve real problems by focusing on real-world requirements for your software.