small medium large xlarge

Domain Modeling Made Functional

May 31, 2017

Life feels a lot like a race sometimes. Coincidentally, on this day in 1911, the first Indianapolis 500 winner crossed the finish line at the Indianapolis Motor Speedway. To win, you need great equipment and the skill to know how to use it.

For today's race, 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. Learn the skills you need with Domain Modeling Made Functional: Tackle Software Complexity with Domain-Driven Design and F#, now in beta from

Come and get it!

Domain Modeling Made Functional: Tackle Software Complexity with Domain-Driven Design and F#

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.

Now in beta from

Upcoming Author Appearances

  • 2017-06-06 Chris Adamson,
    CocoaConf Next Door, San Jose
  • 2017-06-07 Chris Adamson,
    CocoaConf Next Door, San Jose
  • 2017-06-07 Jeff Kelley,
    Code PaLOUsa, Louisville, KY
  • 2017-06-08 Chris Adamson,
    CocoaConf Next Door, San Jose
  • 2017-06-09 Jeff Kelley,
    Beer City Code, Grand Rapids, MI
  • 2017-06-20 Ian Dees,
    Open Source Bridge, Portland, OR
  • 2017-06-23 Andrew Hunt,
    DC Full Stack Conference
  • 2017-08-08 Johanna Rothman,
    Agile 2017
  • 2017-08-08 Janie Clayton,
    That Conference, Wisconsin Dells, WI
  • Did You Know?

    Please note our ebooks do not contain any Digital Restrictions Management, and have always been DRM-free. For us, "DRM Free" means "freedom": you should own the books you've paid for. On whatever device is handy—your laptop, iThingy, Blueberry, you name it. We think ideas should outlast any device you put them on.

    And you can always come back and re-download your books when needed, using your account on We're here to make your life easier.

    Don't Get Left Out

    Are your friends jealous that you get these spiffy email newsletters and they don't? Clue them in that all they need to do is create an account on (email address and password is all it takes) and select the checkbox to receive newsletters.

    Are you following us on Twitter and/or Facebook? Here's where you can find us and keep up with the latest news and commentary, and occasional discounts:

    Tell your friends! Tweet this

    Follow us on Twitter: pragprog</a>, <a href="">pragpub, Andy Hunt @PragmaticAndy.

    Coming Soon:

    • Programming Clojure 3rd Edition
    • Node.js 8 the Right Way: Practical, Server-Side JavaScript That Scales
    • Scalable Cloud Ops with Fugue (in print)
    • Seven Databases in Seven Weeks, Second Edition
    • Learn Functional Programming with Elixir

    Recently Released:

    Thanks for your continued support,

    Andy Hunt
    Publisher, Pragmatic Bookshelf

    Books • eBooks • PragPub Magazine • Audiobooks and Screencasts