sageserpent-open / plutonium

CQRS providing bitemporal object modelling for Java POJOs and Scala too.
MIT License
5 stars 0 forks source link

Scaling - Spike - incremental recording of events - facade implementation #25

Closed sageserpent-open closed 8 years ago

sageserpent-open commented 8 years ago

This is a prelude of #24, allowing tests to be written against a comparatively simpleminded implementation that uses the existing patch recorder and abstract event data storage. So this becomes a refactoring of the existing world implementations, wherein all state referring to abstract event datums is moved into the new incremental event recorder.

sageserpent-open commented 8 years ago

I'm not going to write any tests for this - it looks like the job is to create a sink interface to consume events booked in at a revision, and there is no fixed target for what the consequences of that consumption should be. Let's get on with building the thing over this spike and the following #24, then we'll see what needs to be tested.

sageserpent-open commented 8 years ago

I'm abandoning this spike as I've come to realise that the existing 'revise' method in 'World' is precisely the abstraction required to book in a revision - how obvious! :-) I have split out two sibling descendant classes from the old 'WorldImplementationCodeFactoring' class to keep the new world implementation out of the way of the existing reference and Redis-based implementations.

For now, the new implementation will be an in-memory one only. I will proceed with implementing it and find out as I go what abstractions need to be hived off, at the moment it's probably better as a big blob.