For all the details, read the papers and articles. The basic ideas behind prevalence are as follows:
* Keep all objects in memory all the time, and access them as in-memory objects.
* Every operation that affects the "persistent" state of an object must be implemented as a serializable command object (see CommandPattern). When a command is executed, its serializable form is written to a log file. When the system is restarted, the prevalence system re-executes all these serialized commands, thus restoring the states of all the in-memory objects.
* You can cause a snapshot of current object states to be stored, so that when the system is restarted, you load the snapshot and then re-execute the commands that have been logged since the snapshot was created.