Understanding the refactored bookstore code
So, we have now completed the remodeling effort to get our anemic model into something more rich and more in line with the building blocks of a good DDD. Now, it's time to dive into the code implementation a little, so that you can understand how the code was written to support this model. If you look at the chapter3
code folder from the code distribution, you will notice that at the top level, it's divided into two root folders: bookstore-app-incomplete
and bookstore-app-complete
. The folder marked as incomplete will be the one that I will be referencing the code from. It will also be the place where you will do some homework to complete the refactor later in the chapter. The folder marked as complete will be used by you to compare your homework results against my fully completed refactor.
The EntityActor abstract class
The EntityActor
abstract class defines the behaviors for our DDD entity actor classes. It's modeled as an FSM, where each of the...