资源预览内容
第1页 / 共9页
第2页 / 共9页
第3页 / 共9页
第4页 / 共9页
第5页 / 共9页
第6页 / 共9页
第7页 / 共9页
第8页 / 共9页
第9页 / 共9页
亲,该文档总共9页全部预览完了,如果喜欢就下载吧!
资源描述
2021设计模式春招面试复习命令模式 0源码地址定义与类型适用场景优点缺点相关模式备忘录模式经常结合使用coding典型应用是GUI中的绘图程序, 用命令模式实现“撤销”操作. 命令接收者:执行实际任务。 命令者:封装所有命令者的信息。 发起者:空着一个或者多个命令的顺序和执行。 客户端:创建具体的命令实例public class DrawInvoker /绘制列表 private List drawList = Collections.synchronizedList(new ArrayList(); /重做列表 private List redoList = Collections.synchronizedList(new ArrayList(); /添加一条命令 public void add(DrawPath command) redoList.clear(); drawList.add(command); /撤销操作 public void undo() if(drawList.size() 0 ) DrawPath undo = drawList.get(drawList.size() - 1); drawList.remove(drawList.size() - 1); / 把drawList中的最后一条命令删除掉. undo.undo(); redoList.add(undo); “撤销”上一步操作的实现原理是, 首先记录每一条绘制命令到drawList中, “撤销”操作就是把最后一条命令从drawList中删除, 然后把canvas清空, 把drawList中的命令在清空的canvas上再绘制一遍. -全文完-
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号