I’m reading the Versioning of ES systems book…
I find the section “How Do I find what needs fixing?” a bit confusing:
When the text says:
It is important here to remember that the state your domain model uses, whether in a functional or object-oriented style, is itself a projection. It is a projection that happens to be used for validating incoming messages. Why not just use another projection? If, for instance, you are using Oracle as a read model, why not just make another temporary projection in oracle?
I’m not sure I understand the recommendation… Don’t use Aggregates at all? Or don’t use them to determine what needs fixing? (How would that help?)
Without aggregates, how would we validate the commands and enforce constraints?