关于结构化存储,"撤销"/"删除"的思考,备忘
2006-04-07 10:35
531 查看
最近简单看了一下结构化存储(Structured Storage),以及“撤销(UnDo)”/“恢复(ReDo)”的东西,没有时间深入研究,但是有些保留想法:
MS world的临时文件是干嘛用的?
猜测:
1:以临时文件的方式保存每次操作,便于“撤销”,恢复???
2:安全考虑,程序异常退出,恢复用户上次编辑信息???
3:避免磁盘碎片?用临时文件保存所有用户操作,等程序退出的时候,将变化的部分拷贝回正式文件,覆盖原来的对应部分,主要是分支的stream,storage,以避免硬盘碎片???
关于 通用的UnDo/ReDo支持
在网上找了很多资料,希望能找到好用的,通用的,无次数限制的,UnDo/ReDo逻辑框架支持的代码,但是都不如我所愿,后来发现boost中有类似的框架支持,但是到今天为止还没有时间具体研究,这里仅仅是为了给别人做个提示,也给自己做个备忘。
最初的时候我本想自己用临时文件(IStorage)来实现这个功能的,但是考虑了一下,感觉还是非常复杂的,尤其是对于动态内存数据的操作,所以还是有空好好研究一下boost中的代码比较实用
MS world的临时文件是干嘛用的?
猜测:
1:以临时文件的方式保存每次操作,便于“撤销”,恢复???
2:安全考虑,程序异常退出,恢复用户上次编辑信息???
3:避免磁盘碎片?用临时文件保存所有用户操作,等程序退出的时候,将变化的部分拷贝回正式文件,覆盖原来的对应部分,主要是分支的stream,storage,以避免硬盘碎片???
关于 通用的UnDo/ReDo支持
在网上找了很多资料,希望能找到好用的,通用的,无次数限制的,UnDo/ReDo逻辑框架支持的代码,但是都不如我所愿,后来发现boost中有类似的框架支持,但是到今天为止还没有时间具体研究,这里仅仅是为了给别人做个提示,也给自己做个备忘。
最初的时候我本想自己用临时文件(IStorage)来实现这个功能的,但是考虑了一下,感觉还是非常复杂的,尤其是对于动态内存数据的操作,所以还是有空好好研究一下boost中的代码比较实用
相关文章推荐
- 关于"Cannot change version of project facet Dynamic web module to 3.0"问题的简单解决方案(备忘)
- 关于Ubunt 10.04.3(32位)出现"waiting for sound system to respond"的解决方法
- 关于"表达式"的一些笔记
- 关于大型网站技术演进的思考(七)--存储的瓶颈(7)
- 关于使用Git的时候出现"HTTP 413 curl 22 The requested URL returned error: 413 Request Entity Too Large"的解决方法
- 关于大型网站技术演进的思考(四)--存储的瓶颈(4)
- 关于大型网站技术演进的思考(二)--存储的瓶颈(2)[转]
- 关于" 对只转发结果集的无效操作: last "异常
- "下金蛋" OR "造大便"-----关于产出与产能的思考
- 关于openFileOutput及文件存储,删除,读取简单用法
- 关于大型网站技术演进的思考(二)--存储的瓶颈(中)
- 关于大型网站技术演进的思考(一)--存储的瓶颈(上)
- 关于NoSQL的思考-为什么我们要优化存储的写性能?
- 关于退域重新加域时,出现"拒绝访问"错误提示
- 关于"Google限制Python"事件我的看法
- 关于"GridView1.Columns.Count总为0"的问题
- 【转】关于Android4.0 emulator-arm.exe-应用程序错误,内存不能为"read"问题解决方法
- 关于最近一篇 "别再盯着我们看了" 92年女生致周鸿祎公开信事件,我想说点什么!
- 关于大型网站技术演进的思考(一)—存储的瓶颈(1)
- 【备忘】关于rm删除命令