{"product_id":"domain-modeling-made-functional-tackle-software-complexity-with-domain-driven-design-and-f-9781680502541","title":"Domain Modeling Made Functional: Tackle Software Complexity with Domain-Driven Design and F#","description":"\u003cp\u003eYou 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.\u003c\/p\u003e \u003cp\u003eDomain-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.\u003c\/p\u003e \u003cp\u003eModel 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.\u003c\/p\u003e \u003cp\u003eSolve real problems by focusing on real-world requirements for your software.\u003c\/p\u003e \u003cp\u003e\u003cb\u003eWhat You Need: \u003c\/b\u003e\u003c\/p\u003e 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.\u003cbr\u003e\u003cbr\u003e\u003cbr\u003e\u003cb\u003eAbout the Author\u003c\/b\u003e\u003cbr\u003e\u003cp\u003eScott Wlaschin is an expert on F#, author of the popular F# site fsharpforfunandprofit.com, and a board member of the F# Software Foundation. Known for his non-academic approach to functional programming, Scott is a popular speaker and has given talks at NDC, F# Exchange, DDD Europe, and other conferences around the world.\u003c\/p\u003e\u003cbr\u003e","brand":"Pragmatic Bookshelf","offers":[{"title":"Default Title","offer_id":50567263158546,"sku":"9781680502541","price":46.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0831\/4771\/8930\/files\/img_6479eb1c-c50d-47d3-8433-da5f3c8fe2a0.jpg?v=1731916784","url":"https:\/\/surprise-castle.myshopify.com\/products\/domain-modeling-made-functional-tackle-software-complexity-with-domain-driven-design-and-f-9781680502541","provider":"Surprise Castle","version":"1.0","type":"link"}