Chapter 3. Curing Anemic Models with Domain-Driven Design
Now that we've had a refresher on the actor model, and how Akka leverages it as a concurrency mechanism, we can start with the first of our big refactors. In the Assessing the application's domain model section, in Chapter 1, Building a Better Reactive App, one of the issues I pointed out with the original bookstore app was that its code model was not a strong representation of the business model. I even went so far as to call the model anemic, which implies that it is a weak representation of the behaviors that are inherent in the business model. So, what can we do to fix this?
The domain-driven design (DDD) is a concept that can be applied to domain modeling to transform the business domain into an application model that directly maps to concepts in the business domain. In this chapter, we will use this approach to start making improvements to our app. Following a DDD approach will strengthen the bond between...