To share your reaction on this item, open the Amazon app from the App Store or Google Play on your phone.
Add Prime to get Fast, Free delivery
Amazon prime logo
Buy new:
$59.99
FREE delivery Friday, January 24
Ships from: Amazon.com
Sold by: Amazon.com
$59.99
FREE Returns
FREE delivery Friday, January 24
Or Prime members get FREE delivery Wednesday, January 22. Order within 1 hr 8 mins.
Only 2 left in stock (more on the way).
$$59.99 () Includes selected options. Includes initial monthly payment and selected options. Details
Price
Subtotal
$$59.99
Subtotal
Initial payment breakdown
Shipping cost, delivery date, and order total (including tax) shown at checkout.
Ships from
Amazon.com
Amazon.com
Ships from
Amazon.com
Sold by
Amazon.com
Amazon.com
Sold by
Amazon.com
Returns
30-day refund/replacement
30-day refund/replacement
This item can be returned in its original condition for a full refund or replacement within 30 days of receipt.
Payment
Secure transaction
Your transaction is secure
We work hard to protect your security and privacy. Our payment security system encrypts your information during transmission. We don’t share your credit card details with third-party sellers, and we don’t sell your information to others. Learn more
$29.99
Get Fast, Free Shipping with Amazon Prime FREE Returns
Pages are crisp and clean. Shows limited signs of wear and is very well taken care of. Very nice book. Pre-packaged to preserve quality. Ships direct from Amazon. Pages are crisp and clean. Shows limited signs of wear and is very well taken care of. Very nice book. Pre-packaged to preserve quality. Ships direct from Amazon. See less
FREE delivery Saturday, January 25 on orders shipped by Amazon over $35
Or fastest delivery Friday, January 24. Order within 1 hr 8 mins
Only 1 left in stock - order soon.
$$59.99 () Includes selected options. Includes initial monthly payment and selected options. Details
Price
Subtotal
$$59.99
Subtotal
Initial payment breakdown
Shipping cost, delivery date, and order total (including tax) shown at checkout.
Access codes and supplements are not guaranteed with used items.
Kindle app logo image

Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.

Read instantly on your browser with Kindle for Web.

Using your mobile phone camera - scan the code below and download the Kindle app.

QR code to download the Kindle App

Follow the author

Something went wrong. Please try your request again later.

Functional and Reactive Domain Modeling First Edition

3.8 3.8 out of 5 stars 29 ratings

{"desktop_buybox_group_1":[{"displayPrice":"$59.99","priceAmount":59.99,"currencySymbol":"$","integerValue":"59","decimalSeparator":".","fractionalValue":"99","symbolPosition":"left","hasSpace":false,"showFractionalPartIfEmpty":true,"offerListingId":"gjyCIvYoNcwVkCfWWi%2Fob7CIRr2Wc5btCKMqM60HRg1VPRCawDlXQHj5sFl8gDOr70Q9spnSACNgpqPYl1o5FdB9zou2YEkJWOcr0EQEchEzS95K2uBSSdOwW5ixHzfrrB6T0NtU5kioRWRZCimy8A%3D%3D","locale":"en-US","buyingOptionType":"NEW","aapiBuyingOptionIndex":0}, {"displayPrice":"$29.99","priceAmount":29.99,"currencySymbol":"$","integerValue":"29","decimalSeparator":".","fractionalValue":"99","symbolPosition":"left","hasSpace":false,"showFractionalPartIfEmpty":true,"offerListingId":"gjyCIvYoNcwVkCfWWi%2Fob7CIRr2Wc5bt%2FIzNJ7JNu5vN0XelcrXubtXyrLv5SZx2%2Bfdv56ZAyvQMJPdKe%2FpwRMr5ArKOE65R9wnn0rovoc66Y8YbYfBPUF62KUpDw0B5RlErdqXO8aJFeFbxBEdTiknrg8c90dwjErK%2F4di0AiZWtaZh%2FGwTw5OtjTT%2FASZu","locale":"en-US","buyingOptionType":"USED","aapiBuyingOptionIndex":1}]}

Purchase options and add-ons

Summary

Functional and Reactive Domain Modeling teaches you how to think of the domain model in terms of pure functions and how to compose them to build larger abstractions.

Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.

About the Technology

Traditional distributed applications won't cut it in the reactive world of microservices, fast data, and sensor networks. To capture their dynamic relationships and dependencies, these systems require a different approach to domain modeling. A domain model composed of pure functions is a more natural way of representing a process in a reactive system, and it maps directly onto technologies and patterns like Akka, CQRS, and event sourcing.

About the Book

Functional and Reactive Domain Modeling teaches you consistent, repeatable techniques for building domain models in reactive systems. This book reviews the relevant concepts of FP and reactive architectures and then methodically introduces this new approach to domain modeling. As you read, you'll learn where and how to apply it, even if your systems aren't purely reactive or functional. An expert blend of theory and practice, this book presents strong examples you'll return to again and again as you apply these principles to your own projects.

What's Inside

  • Real-world libraries and frameworks
  • Establish meaningful reliability guarantees
  • Isolate domain logic from side effects
  • Introduction to reactive design patterns

About the Reader

Readers should be comfortable with functional programming and traditional domain modeling. Examples use the Scala language.

About the Author

Software architect
Debasish Ghosh was an early adopter of reactive design using Scala and Akka. He's the author of DSLs in Action, published by Manning in 2010.

Table of Contents

  1. Functional domain modeling: an introduction
  2. Scala for functional domain models
  3. Designing functional domain models
  4. Functional patterns for domain models
  5. Modularization of domain models
  6. Being reactive
  7. Modeling with reactive streams
  8. Reactive persistence and event sourcing
  9. Testing your domain model
  10. Summary - core thoughts and principles

Frequently bought together

This item: Functional and Reactive Domain Modeling
$59.99
Get it as soon as Friday, Jan 24
Only 2 left in stock (more on the way).
Ships from and sold by Amazon.com.
+
$36.16
Get it as soon as Friday, Jan 24
Only 13 left in stock (more on the way).
Ships from and sold by Amazon.com.
Total price: $00
To see our price, add these items to your cart.
Details
Added to Cart
spCSRF_Treatment
One of these items ships sooner than the other.
Choose items to buy together.

Editorial Reviews

About the Author

Debasish Ghosh is a software architect with extensive experience in domain modeling. Debasish uses Scala and Akka in his daily work and was one of the earliest adopters of event sourcing using EventSourced, now called Akka Persistence. He's the author of DSLs in Action, published by Manning in 2010.

Product details

  • Publisher ‏ : ‎ Manning; First Edition (October 24, 2016)
  • Language ‏ : ‎ English
  • Paperback ‏ : ‎ 320 pages
  • ISBN-10 ‏ : ‎ 1617292249
  • ISBN-13 ‏ : ‎ 978-1617292248
  • Item Weight ‏ : ‎ 1.22 pounds
  • Dimensions ‏ : ‎ 7.3 x 0.9 x 9.1 inches
  • Customer Reviews:
    3.8 3.8 out of 5 stars 29 ratings

About the author

Follow authors to get new release updates, plus improved recommendations.
Debasish Ghosh
Brief content visible, double tap to read full content.
Full content visible, double tap to read brief content.

Discover more of the author’s books, see similar authors, read book recommendations and more.

Customer reviews

3.8 out of 5 stars
29 global ratings

Review this product

Share your thoughts with other customers

Top reviews from the United States

  • Reviewed in the United States on March 16, 2017
    A mind-blowing book that shows how to combine the beauty and orderliness of Domain-Driven Design (Eric Evans) with the purity and reasonability of functional programming and with the need for making your systems reactive. Covers some juicy category theory and abstract algebra principles without going too deep into the math.
    10 people found this helpful
    Report
  • Reviewed in the United States on January 22, 2018
    This book covers an interesting topic and I do like a lot of the content but I think it has some big flaws that hamper the book:

    * In the digital version you get if you buy directly from manning the figures/listings are very unreadable.
    * The book takes the questionable decision of focusing a lot on examples from a particular domain (personal banking being a key one) using a single language (Scala). The code examples are also often quite important in understanding the details of whats going on, so if your Scala isn't strong you'll get less out of the book. I would have preferred if he started high level and domain/language agnostic then just provided examples that are domain and/or language specific.
    * Given the code snippets are often unreadable and in a language you might not be familiar with the textual descriptions are vital. Unfortunately many of them are not that clear, to the point where you sometimes struggle to see what the author is saying. Often it isn't important as you get the gist of the message but it does make for a frustrating read.

    Its a pity but whilst this book has value it is a frustrating read for anyone who isn't completely familiar with Scala.
    7 people found this helpful
    Report
  • Reviewed in the United States on December 23, 2019
    This is the book you need to apply Scala functional programming in real world.
    One person found this helpful
    Report
  • Reviewed in the United States on October 10, 2017
    Cannot continuing reading it. The style of writing in this book is so poor that I have to put it down. Barely made it to chapter 3. Don't know if I can pick it up again. The problem is that there are too many transitions and references forward and backward to what was said in the last chapter, last section, last paragraph; to what will be covered next, in the next section, in the next chapter... Ugh. Too much of the author in it also. I don't want to read a technology book and keep remembering there's an author. It's like watching a movie and being constantly reminded that there's a director directing a film. If I wanted an author, I'd read fiction.

    # # #

    Some examples from chapter 2:

    Section 2.3.1, "You've probably noticed that I've been using the term 'pure functions' in the context of modeling behaviors[1]. I did this in chapter 1 as well and explained how purity helps you reason about your functions. To recap, a function is pure if it doesn't have any side effects. And what's a side effect? A side effect is something that's not within the control of the function that you implement. If you're manipulating the filesystem... This section presents optimizations you can perform on your model..." The page has a footnote ([1]) that says this:"You've already seen the virtues of pure abstractions in chapter 1..." [Wouldn't a footnote suffice? Either keep the footnote and drop the reference from text. But don't keep both. It's too silly. Where's the editing here?]

    Section 2.3.2, "In the previous section, you saw... [Are readers really suffering from such short term memory that they need to be reminded of what they just read?]

    Section 2.4, "In this book when we discuss domain models, I'll talk about modeling... You'll need to have a clear understanding... This section doesn't start with the theory. Instead, it begins with examples that show you what I mean by ADTSs..." [How about we just get to it instead. And then the reader will probably have a better chance of remembering what s/he just read if that's even a concern.]

    Section 2.6. "The side bar 'What is an effectful computation?' details what I mean." [Good gracious. If you have to call out your own sidebar, why not just bring it into the text and drop the side bar. The side bar is supposed to be like a parenthetical comment. It should stand outside the main line of reasoning or argument of the text.]

    # # #

    To be fair to the author, the fault of style falls squarely on the editor. To be fair to the editor, the style is so pervasive, it was probably hard to know where to begin and where to stop editing it. Feels like they did neither. But if they had done their job, the book would be shorter by about 1/3.

    A good edit, a good index and appropriate footnotes would have been much more effective aids to the reader.

    To be fair chapter 1 was a good read. Chapter 2 was so horrendous that I've lost interest.
    18 people found this helpful
    Report
  • Reviewed in the United States on November 4, 2021
    I keep coming back to this book after working awhile in other areas of my teaching. I introduce this functional approach in my classes and, depending on the grad or ugrad level I am teaching, I illustrate concepts to various depths along the lines Ghosh has laid out. Yes, Ghosh does go deeply into FP via Scala, I appreciate that-- and yes, that introduces additional concepts such as Modules, ADTs, Functors and Monads, but hey, I can't keep doing only for loops forever! This functional mode of thinking has infused my grad classes in advanced databases as well as my advanced big data analytics class. Cheers!
  • Reviewed in the United States on August 4, 2017
    - This is a book that's almost lyrical in the beauty and elegance with which it tackles an incredibly tough subject, actually three whole subjects, to be precise: Functional and Reactive Domain Modeling by Debasish Ghosh. What the author has accomplished with this stellar book is not for the faint of heart: It takes three strands—functional programming, reactive programming, and domain modeling—and manages to weave them into a tapestry of awesome.
    - What I appreciated the most about this book is the thorough and pragmatic approach taken by Debasish to weave three topics—each broad (and deep) in their own right—into a coherent narrative, copiously illustrated by high-quality code that you can load into your IDE (I used IntelliJ IDEA) and run.
    - The quality of this book is nothing short of amazing. for any fellow programmer who has bludgeoned their head over how much math they need—specifically, category theory—to really grok how to use these mathematical concepts of category theory in their daily programming—and apply salve to your hurting head—this book is a balm.
    - For a more-detailed review, checkout my post by searching on the keywords "Programming Digressions Best Reactive Programming Books"
    3 people found this helpful
    Report

Top reviews from other countries

Translate all reviews to English
  • itarato
    3.0 out of 5 stars Missing a lot of explanation
    Reviewed in Canada on March 15, 2023
    The book is proposing an interesting idea, however it fails to go into details, and without that it's just a functional programming agenda.
  • Bjoern Bembnista
    5.0 out of 5 stars Durch Abstraktion von algebraischen Strukturen zu DSL und reaktiven Streams
    Reviewed in Germany on August 30, 2020
    Durch Abstraktion von algebraischen Strukturen zur deklarativen Programmierung von DSL und reaktiven Streams. Der Autor Debasish Ghosh trifft schon den Kern des Titels, nur setzt es etwas an Verständnis für FP voraus. Für all diejenigen die eine gut Vorstellung davon haben, worin sich die OOP zur FP unterscheidet und vielleicht sogar ein Gefühl für programmieren mit Funktionsparametern und der Kombination von Funktionen (Funktoren, Monaden) haben, wird das Buch eine Hilfe zu tieferem Verständnis bis hin zu Erleuchtung sein.
    Ich selbst arbeite nicht mit Scala, habe hier aber ein sehr gutes Gefühl dafür bekommen, worin Scala im Vergleich zu Kotlin als Multi-Paradigmensprache stärker aufgestellt ist. Selbst die Stärken von Java (Typkonstruktoren) im Vergleich zu Kotlin (vom syntaktischen Zucker der Sprache abgesehen) ließen sich erkennen.
    Ein großen Dank an den Autor.
  • Pascal H.
    5.0 out of 5 stars Le livre, la référence alliant DDD et programmation fonctionnelle dont je rêvais
    Reviewed in France on July 7, 2019
    Dès l'ouverture du livre, je fus agréablement surpris: pour moi qui voulais une version numérique mais avais dû finalement prendre la seule version papier disponible sur Amazon, une version numérique est disponible sur le site de l'éditeur (après enregistrement et utilisation d'une carte de codes dans le livre). La version numérique PDF (je n'ai pas essayé les autres formats epub ou mobi) est très agréable à l'écran. C'est un énorme plus pour moi (NB: la version numérique sera marquée de votre identité sur toutes les pages).
    Par ailleurs, dès les premières pages, j'y trouve DDDesign + FP (+ Reactive) qui sont pour moi l'alliance moderne dans état de l'art du design et de la conception logicielle. Les exemples sont effectivement formulés en Scala et cela correspond aussi tout à fait au langage dans lequel j'envisage les mises en oeuvre.
    Je n'en suis encore qu'au premier chapitre mais je sens déjà que c'est bien le libre, la référence que j'attendais depuis longtemps. Je suis arrivé sur ce livre par recommandation d'un ami. Je pense que je ne pourrais que l'en remercier.
  • Ses
    3.0 out of 5 stars Good and useful at first 40%
    Reviewed in Canada on October 21, 2017
    Very good in the beginning but then too many functiona stuff. I would remove couple of chapter that is go too deep in functional programming. Eventhoug I like FP per se. Just saying there too much of it so it deviates you from the point of reactive, domain and modeling.
  • Dr. Gernot Starke
    3.0 out of 5 stars Title should be "Functional and Reactive Programming in Scala"
    Reviewed in Germany on November 5, 2017
    It's a Scala-Book with some functional and reactive programming - not "modeling"
    in any software-engineering sense.

    I was fooled by the title...

    Without some (deep) Scala knowledge, you're lost.