# 1 楼答案 你考虑过使用Berkey DB吗?它是免费且受支持的嵌套事务(允许您有任意级别的回滚): http://download.oracle.com/docs/cd/E17076_02/html/gsg_txn/JAVA/nestedtxn.html 即使您决定实现自己的数据库,它也可以作为参考
# 2 楼答案 听起来你想要Memento pattern。基本上,您创建的对象具有以下所需的所有信息: 从操作前树的状态,重复该操作。(重做) 从操作后树的状态恢复操作。(撤销) 你应该把最后五个留着。当用户要求撤销时,取最新的,要求其恢复操作,然后以某种方式(例如,某些索引变量)指出您在纪念品列表中的位置。然后,您应该能够在列表中的任意一个方向上移动,任意撤销和重做
# 1 楼答案
你考虑过使用Berkey DB吗?它是免费且受支持的嵌套事务(允许您有任意级别的回滚):
http://download.oracle.com/docs/cd/E17076_02/html/gsg_txn/JAVA/nestedtxn.html
即使您决定实现自己的数据库,它也可以作为参考
# 2 楼答案
听起来你想要Memento pattern。基本上,您创建的对象具有以下所需的所有信息:
你应该把最后五个留着。当用户要求撤销时,取最新的,要求其恢复操作,然后以某种方式(例如,某些索引变量)指出您在纪念品列表中的位置。然后,您应该能够在列表中的任意一个方向上移动,任意撤销和重做