Základem je 100% reprezentovat stav aplikace objektovým návrhem. Tedy vše co se provede ovlivní nějak stav objektů, které budeme sledovat (to je dobré i pro ukládání). Každý takový objekt pak musí implementovat nějaké rozhraní, které informuje o změnách. My je pak budeme ukládat do zásobníku a v případě potřeby vybereme poslední krok a změníme hodnotu objektu zpět. Bohužel ale tento model neřeší řadu problémů, na které můžete narazit. Záleží na povaze aplikace a funkcích.
|