Thom schreef:Jij wil dus voor elke mutatie het gehele object opnieuw opslaan?Thuis ben ik bezig met een prototype voor een event-driven database opzet, n.a.v. een klasgenoot die daar voor zijn stage mee bezig is.Eerdere citaten tonen
Rik schreef:Op stage heb ik gewerkt aan een Order-volg systeem.
In principe houdt dat in dat je niet de huidige staat van een object bij wil houden, maar in plaats daarvan alle mutaties op dat object bijhoudt.
Om tot de huidige staat van het object te komen kan je dan alle mutaties langs gaan. Zo heb je altijd juiste data opgeslagen.
Uiteraard kan je voor snelheid alsnog een soort CurrentState bijhouden.
Nadeel van het geheel is dat je ontzettend veel data moet bijhouden & ophalen, voordeel is wel dat je van elk object een exacte geschiedenis hebt van mutaties. Als we even een bank als voorbeeld nemen: Als je moet weten hoeveel geld er op een bankrekening stond op 12-04-2015 om 13:49 (om maar een random datum te pakken), dan ga je alle mutaties langs die tot dat tijdstip gedaan zijn en krijg je een snapshot terug van hoe het object er uit zag op exact dat moment.
Kan je dan niet bij elke mutatie een soort tussenstand zetten?
Het voorbeeld was enkel een bankrekening met geld erop, maar een real-world oplossing heeft natuurlijk tientallen attributen.




Wel oud bericht though 

