• [^] # Re: Undo/Redo

    Posté par (site web personnel) . En réponse à la dépêche Ça bouge du côté de SQLite !. Évalué à 2.

    euh :
    Imaginez maintenant que vous ayez prévu des triggers dans votre base de données, qui enregistrent chaque action de votre utilisateur dans une table undo/redo temporaire...

    Dans tous les cas faut fournir la fonction f^{-1} et là en l'occurence ce que propose l'auteur de cette news c'est de systématiquement faire des copies des tables, c'est le plus porc mais il est vrai le plus facile à faire (et parfois celà suffit largement), mais je ne vois vraiment pas en quoi celà est plus simple à mettre en oeuvre, faut se taper des triggers qui font office de fonction f^{-1} générique.

    Il existe une méthode beaucoup plus répendu : le patron de conception Commande. Simple, efficace, et le Undo/Redo devient beaucoup plus simple à implémenter (on peut de la même manière faire une copie à la bourrine d'un objet, sans les contraintes de perf des accès SQL, ou bien faire encore plus propre et fournir la fonction f^{-1} spécifique) avec toutes les possiblités du langage de son choix sans être limité par le les triggers.

    Bref, SQLite n'a rien d'innovant pour résoudre ce problème.