Domain Modeling Made Functional

Tackle Software Complexity with Domain-Driven Design and F#

Nonfiction, Computers, Advanced Computing, Engineering, Computer Architecture, Programming, Software Development, General Computing
Cover of the book Domain Modeling Made Functional by Scott Wlaschin, Pragmatic Bookshelf
View on Amazon View on AbeBooks View on Kobo View on B.Depository View on eBay View on Walmart
Author: Scott Wlaschin ISBN: 9781680505498
Publisher: Pragmatic Bookshelf Publication: January 25, 2018
Imprint: Pragmatic Bookshelf Language: English
Author: Scott Wlaschin
ISBN: 9781680505498
Publisher: Pragmatic Bookshelf
Publication: January 25, 2018
Imprint: Pragmatic Bookshelf
Language: English

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 requirements both elegantly and concisely - often more so than an object-oriented approach. Practical examples in the open-source F# functional language, and examples from familiar business domains, show you how to apply these techniques to build software that is business-focused, flexible, and high quality.

Domain-driven design is a well-established approach to designing software that ensures that domain experts and developers work together effectively to create high-quality software. This book is the first to combine DDD with techniques from statically typed functional programming. This book is perfect for newcomers to DDD or functional programming - all the techniques you need will be introduced and explained.

Model a complex domain accurately using the F# type system, creating compilable code that is also readable documentation---ensuring that the code and design never get out of sync. Encode business rules in the design so that you have "compile-time unit tests," and eliminate many potential bugs by making illegal states unrepresentable. Assemble a series of small, testable functions into a complete use case, and compose these individual scenarios into a large-scale design. Discover why the combination of functional programming and DDD leads naturally to service-oriented and hexagonal architectures. Finally, 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.

What You Need:

The code in this book is designed to be run interactively on Windows, Mac and Linux.You will need a recent version of F# (4.0 or greater), and the appropriate .NET runtime for your platform.Full installation instructions for all platforms at fsharp.org.

View on Amazon View on AbeBooks View on Kobo View on B.Depository View on eBay View on Walmart

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 requirements both elegantly and concisely - often more so than an object-oriented approach. Practical examples in the open-source F# functional language, and examples from familiar business domains, show you how to apply these techniques to build software that is business-focused, flexible, and high quality.

Domain-driven design is a well-established approach to designing software that ensures that domain experts and developers work together effectively to create high-quality software. This book is the first to combine DDD with techniques from statically typed functional programming. This book is perfect for newcomers to DDD or functional programming - all the techniques you need will be introduced and explained.

Model a complex domain accurately using the F# type system, creating compilable code that is also readable documentation---ensuring that the code and design never get out of sync. Encode business rules in the design so that you have "compile-time unit tests," and eliminate many potential bugs by making illegal states unrepresentable. Assemble a series of small, testable functions into a complete use case, and compose these individual scenarios into a large-scale design. Discover why the combination of functional programming and DDD leads naturally to service-oriented and hexagonal architectures. Finally, 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.

What You Need:

The code in this book is designed to be run interactively on Windows, Mac and Linux.You will need a recent version of F# (4.0 or greater), and the appropriate .NET runtime for your platform.Full installation instructions for all platforms at fsharp.org.

More books from Pragmatic Bookshelf

Cover of the book The Passionate Programmer by Scott Wlaschin
Cover of the book Seven Databases in Seven Weeks by Scott Wlaschin
Cover of the book Scalable Cloud Ops with Fugue by Scott Wlaschin
Cover of the book The Developer's Code by Scott Wlaschin
Cover of the book Practical Vim by Scott Wlaschin
Cover of the book Creating Great Teams by Scott Wlaschin
Cover of the book Practical Programming by Scott Wlaschin
Cover of the book Seven Concurrency Models in Seven Weeks by Scott Wlaschin
Cover of the book Craft GraphQL APIs in Elixir with Absinthe by Scott Wlaschin
Cover of the book Mazes for Programmers by Scott Wlaschin
Cover of the book Beyond Legacy Code by Scott Wlaschin
Cover of the book Language Implementation Patterns by Scott Wlaschin
Cover of the book The Definitive ANTLR 4 Reference by Scott Wlaschin
Cover of the book CoffeeScript by Scott Wlaschin
Cover of the book Reactive Programming with RxJS 5 by Scott Wlaschin
We use our own "cookies" and third party cookies to improve services and to see statistical information. By using this website, you agree to our Privacy Policy