前不久看了 敏捷软件开发 原则、模式与实践,有点想法,所以就把我以前写得一个RedoUndo的框架改了一下,成了下面的情况。 我将操作RedoUndo的模块的接口独立了出来,这样在将来的扩展上就不会有太大的困难,并且将他独立与显示模块很大程度上避免了耦合。 在使用的时候可以有选择的使用RedoUndo的功能,如果某个工具需要RedoUndo的功能则直接继承与TransactionCommand即可。这样避免了冗余,在一些工具中不用承担一些不需要的永远不会用到的方法。 RedoUndo模块是使用标准的C++写的,为了测试这个模块我使用了Qt库,用于图形显示, [阅读全文] [PDF]
1 共1条 分1页
- mysql数据库:MySQL数据库使用有高招
- oracle数据库:Oracle数据库出现的奇怪表名及其清除思路方法
- 在存储过程中拥有"role"权限的特殊性
- oracle四舍五入:ORACLE问题 每天10问( 5)
- oracleexp用法:属性类、对象组、对象库使用方法(Oracle Form6i
- 数据文件导入数据库:数据库运行在非归档模式下 数据文件被误删的
- slackwarelinux:如何选择 Slackware Linux 的 bootdisk/root
- oracle数据库:DB2和Oracle数据库的间的远程复制
- oracle数据库:保持Oracle数据库优良性能的若干诀窍
- linux系统:Linux系统的防病毒方案
- 名词解释:sga中的名词解释
- linqtosql:用日志记录LINQ中的所有增删改的SQL语句的思路方法
- asp.net缓存:ASP.NET缓存Cache策略经验谈
- sql2005连接字符串:SQL2005下字符串字段内的字符排序
- sqlserver数据库:SQLSERVER如何link oracle数据库
- SQL语句:Group By整理总结
- ASP.NET中大文件下载的跟踪和恢复
- javawebservice:将Java程序转换为Webservice
- 运行activex控件:C#实现运行期Control控件设计
- 成员函数指针:类成员函数指针是什么?