
Domain Modeling Made Functional: DDD with F#
Domain Modeling Made Functional is a practical guide to combining domain-driven design (DDD) with functional programming in F#. It explains how to represent business rules in types and compose small functions into larger software designs, with examples based on familiar business domains.
At a glance
- Shows how to model business domains using F# types and domain-driven design.
- Explores encoding business rules in a design so illegal states can be unrepresentable.
- Covers composing small, testable functions into use cases and larger designs.
- Discusses service-oriented and hexagonal architectures, plus working with relational databases, NoSQL and event stores.
Often bought together
Pros and cons
Pros
- Connects DDD concepts to concrete F# examples and familiar business domains.
- The type-driven approach can make business rules visible in code and support readable, compilable domain models.
- Covers both modelling and ways to expose a domain through a website or API.
Technical specifications
12 specifications| Publisher | O′Reilly |
|---|---|
| Publication date | 20 Feb. 2018 |
| Edition | 1st |
| Language | English |
| Print length | 260 pages |
| ISBN-10 | 9781680502541 |
| ISBN-13 | 978-1680502541 |
| Weight listed | 1.05 kg |
|---|---|
| Dimensions | 19.05 x 1.65 x 23.5 cm |
| F# version | 4.0 or greater |
|---|---|
| Runtime | The appropriate .NET runtime for your platform |
| Supported platforms for interactive code | Windows, Mac and Linux |
What to know before buying
- The listing says the examples are intended to run interactively and require F# 4.0 or greater plus the appropriate .NET runtime. Confirm these requirements suit your development setup.
Who is it for?
A good fit for
- Developers learning domain-driven design or functional programming.
- Readers who want to apply F# types and functions to business-domain modelling.
- Software teams exploring how domain models relate to architecture, persistence and APIs.
Less suited to
- Readers looking specifically for a language-neutral guide or an introduction centred on object-oriented examples.
- Those who do not plan to work with F# or the stated .NET runtime requirements.
Customer reviews on Amazon
- 5 stars
80% 80% - 4 stars
15% 15% - 3 stars
4% 4% - 2 stars
1% 1% - 1 star
0% 0%
Customer feedback highlights clear explanations of DDD, readable writing and a systematic treatment of complex topics, including the connection to functional programming. This aligns with the book’s stated focus on F# examples and domain modelling. The feedback is favourable overall, but ratings alone do not establish how every reader will find the technical level or examples.
Positive themes
- Customers describe the explanations as clear and the book as easy to read.
- Feedback praises the systematic presentation of complex topics and the link between DDD and functional programming.
Frequently asked questions
What topics does the book cover?
It combines domain-driven design with functional programming, using F# examples to explain domain types, business rules, functions, architecture and data storage approaches.
Do I need F# experience to follow the examples?
The listing describes the book as suitable for newcomers to DDD or functional programming, with techniques introduced and explained. Its code examples use F#.
What software is needed to run the examples?
The listing specifies F# 4.0 or greater and the appropriate .NET runtime. It says the code is designed for interactive use on Windows, Mac and Linux.
How long is the book?
The listed print length is 260 pages.
Alternative options

Functional Design: Principles, Patterns, and Practices (Robert C. Martin Series)
£31.05

Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives
£50.49

Architecture for Flow: Adaptive Systems with Domain-Driven Design, Wardley Mapping, and Team Topologies (Addison-Wesley Signature Series (Vernon))
£28.19

Effective Software Architecture: Building Better Software Faster
£34.19

Collaborative Software Design: How to Facilitate Domain Modeling Decisions
£40.99

Software Requirements (Developer Best Practices)
£29.15

Modern Software Engineering: Doing What Works to Build Better Software Faster
£23.16

C Interfaces and Implementations: Techniques for Creating Reusable Software (Addison-Wesley Professional Computing Series)
£36.85

Clean Agile: Back to Basics (Robert C. Martin Series)
£27.70

Software Architecture and Decision-Making: Leveraging Leadership, Technology, and Product Management to Build Great Products
£29.69

























