C++使用命令模式实现撤销,重做功能,包括了源代码
2023/11/13 3:47:25 320KB undo、 rodo
1
考虑一个计算器功能,只能实现加法和减法运算。
但是,这个计算器支持撤销操作。
2023/11/10 15:27:48 7KB 命令模式
1
在软件系统中,“行为请求者”与“行为实现者”通常呈现一种“紧耦合”。
但在某些场合,比如要对行为进行“记录、撤销/重做、事务”等处理,这种无法抵御变化的紧耦合是不合适的。
在这种情况下,如何将“行为请求者”与“行为实现者”解耦?将一组行为抽象为对象,可以实现二者之间的松耦合[李建忠]。
这就是本文要说的Command模式。
将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;
对请求排队或记录请求日志,以及支持可撤消的操作。
[GOF《设计模式》]Command模式结构图如下:图1Command模式结构图Command模式将一个请求封装为一个对象,从而使你可以使用不同的请求对客户进行参数化。
1
通过串口,Telnet,SSH,TFTP,FTP连接设备,命令模式,文件系统管理,VSC配置,SNMP配置,NetFlow配置,端口镜像配置
2023/9/2 11:40:17 1.93MB zxr10 5950-h 中兴 全千兆
1
目录第1章UML类图实训1.1知识讲解1.1.1UML概述1.1.2类与类的UML表示1.1.3类之间的关系1.2实训实例1.2.1类图实例之图书管理系统1.2.2类图实例之商场会员管理系统1.3实训练习第2章面向对象设计原则实训2.1知识讲解2.1.1面向对象设计原则概述2.1.2单一职责原则2.1.3开闭原则2.1.4里氏代换原则2.1.5依赖倒转原则2.1.6接口隔离原则2.1.7合成复用原则2.1.8迪米特法则2.2实训实例2.2.1单一职责原则实例分析2.2.2开闭原则实例分析2.2.3里氏代换原则实例分析2.2.4依赖倒转原则实例分析2.2.5接口隔离原则实例分析2.2.6合成复用原则实例分析2.2.7迪米特法则实例分析2.3实训练习第3章创建型模式实训3.1知识讲解3.1.1设计模式3.1.2创建型模式概述3.1.3简单工厂模式3.1.4工厂方法模式3.1.5抽象工厂模式3.1.6建造者模式3.1.7原型模式3.1.8单例模式3.2实训实例3.2.1简单工厂模式实例之图形工厂3.2.2工厂方法模式实例之日志记录器3.2.3抽象工厂模式实例之数据库操作工厂3.2.4建造者模式实例之游戏人物角色3.2.5原型模式实例之快速创建工作周报3.2.6单例模式实例之多文档窗口3.3实训练习第4章结构型模式实训4.1知识讲解4.1.1结构型模式概述4.1.2适配器模式4.1.3桥接模式4.1.4组合模式4.1.5装饰模式4.1.6外观模式4.1.7享元模式4.1.8代理模式4.2实训实例4.2.1适配器模式实例之算法适配4.2.2桥接模式实例之跨平台视频播放器4.2.3组合模式实例之杀毒软件4.2.4装饰模式实例之界面显示构件库4.2.5外观模式实例之文件加密4.2.6享元模式实例之围棋棋子4.2.7代理模式实例之日志记录代理4.3实训练习第5章行为型模式实训5.1知识讲解5.1.1行为型模式概述5.1.2职责链模式5.1.3命令模式5.1.4解释器模式5.1.5迭代器模式5.1.6中介者模式5.1.7备忘录模式5.1.8观察者模式5.1.9状态模式5.1.10策略模式5.1.11模板方法模式5.1.12访问者模式5.2实训实例5.2.1职责链模式实例之在线文档帮助系统5.2.2命令模式实例之公告板系统5.2.3解释器模式实例之机器人控制程序5.2.4迭代器模式实例之商品名称遍历5.2.5中介者模式实例之温度转换器5.2.6备忘录模式实例之游戏恢复点设置5.2.7观察者模式实例之股票变化5.2.8状态模式实例之银行账户5.2.9策略模式实例之电影票打折5.2.10模板方法模式实例之数据库操作5.2.11访问者模式实例之奖励审批5.3实训练习第6章模式联用与综合实例实训6.1设计模式补充知识6.1.1反射与配置文件6.1.2GRASP模式6.1.3架构模式与MVC6.2模式联用实训6.2.1适配器模式与桥接模式联用6.2.2组合模式与命令模式联用6.2.3外观模式与单例模式联用6.2.4原型模式与备忘录模式联用6.2.5观察者模式与组合模式联用6.2.6访问者模式、组合模式与迭代器模式联用6.3综合实例实训6.3.1多人联机射击游戏6.3.2数据库同步系统6.4实训练习附录A参考答案A.1第1章实训练习参考答案A.2第2章实训练习参考答案A.3第3章实训练习参考答案A.4第4章实训练习参考答案A.5第5章实训练习参考答案A.6第6章实训练习参考答案参考文献
2023/8/13 15:25:23 32.93MB 设计模式 UML
1
本书系统介绍了设计模式。
全书共分27章,内容包括统一建模语言基础知识、面向对象设计原则、设计模式概述、简单工厂模式、工厂方法模式、抽象工厂模式、建造者模式、原型模式、单例模式、适配器模式、桥接模式、组合模式、装饰模式、外观模式、享元模式、代理模式、职责链模式、命令模式、解释器模式、迭代器模式、中介者模式、备忘录模式、观察者模式、状态模式、策略模式、模板方法模式和访问者模式。
[1]本书结合大量实例来学习GoF设计模式,针对每一个设计模式均提供了一或两个实例,并对每一个模式进行了详尽的讲解,每一章最后均配有一定量的习题。
2023/8/13 2:18:01 263KB 设计模式 清华 刘伟 源码
1
Vim采⽤模式编辑的理念,即它提供了多种模式,按键在不同的模式下作⽤不同。
你可以在普通模式下浏览⽂件,在插⼊模式下插⼊⽂本,在可视模式下选择⾏,在命令模式下执⾏命令等等。
2023/7/27 12:40:57 1.16MB vim shell
1
基于51单片机的MLX90614红外测温仪实验指导书(含源代码)MLX90614MLX90615红外测温51单片机SMBus这是经过本人实验测试得到的成果,再次将之分享给大家,希望对搞温度测量及控制的人有所帮助!时钟线数据线温度显示第个数码管段选温度显示第个数咼管段迮温度显示第个数码管段选矩阵键盘第列矩阵键盘第列矩阵键盘第列矩阵键盘第行矩阵键盘第行矩阵键盘第行数据定义可位寻址数据数码管码值定义显示代码,共阳不带小数点的显示代码,共阳带小数点的仝局变量定义定时标志位定时毫秒数向写入命令或数据数据清屏光标返回原点设置显示模式显示开显示关显示光标无光标光标闪动光标不闪动设置输入模式光标石移默认光标左移田面可半移默认画面不移动命令模式对操作操作进入命令模式退出命令模式读标志进入睡眠馍式地址(只读)周围温度环境温度单元目标温度红外温度单元地址测量范围上限设定测量范围下限设定设定环境温度设定频率修正系数配置寄存器器件地址设定保留保留地址地址地址地址函数声明发起始位子程序发结東位子程序接收字节子程序发送位子程序接收字节子程序接收位子程序延时程序读温度数据初始化子程序判断忙子程序写命令子程序写数据子程序显示子程序字符串显示程序主函数温度变量初始化每扫描一次键盘按下键时,进行数码管显示液品屏显示读取温度清屏显示字符串且换行显示温度显示摄氏度延吋再读取温度显字符串显示稈序字符串显示程序直到字符肀结束转成码指向下一个字符输入转换并显示用于温度为止温度整数温度小数温度超过度显示温度百位显小温度十位显示温度个位温度超过度显小温度十位显示温度个位温度不超过度显示温度个位显示小数点温度小数点后第位数不等于显示温度小数点后第位数显示温度小数点后第位数温度小数点斤第位数等于显示温度小数点后第位数显示温度小数点后第位数温度为负
2023/7/12 22:10:43 125KB MLX90614 MLX90615 红外测温 51单片机
1
JavaSE_chyjava基础汇集,各种demo测试,基于jdk1.8基本(java基础)集合(集合)数据结构(datastructure)套接字(套接字服务)第三方(第三方-ocr-ffmpeg)时间(日期相关)设计模式设计观察者模式实际上就是发布订阅模式,发布者发布信息,订阅者获取信息,订阅了能够收到信息,没订阅就收不到信息。
代理模式总体而言设计模式分为三大类创建型模式,共五种:工厂方法模式,抽象工厂模式,单例模式,建造者模式,原型模式。
结构型模式,共七种:适配器模式,装饰器模式,代理模式,外观模式,转换器模式,组合模式,享元模式。
行为类型模式,共十种:策略模式,模板方法模式,观察者模式,迭代子模式,责任链模式,命令模式,注释模式,状态模式,访问者模式,中介者模式,解释器模式。
其实还有两类:并发型模式和线程池模式。
用一个图片来整体描述一下
2023/7/11 11:55:13 12.4MB Java
1
用于windows下面的vim编辑器。
给喜欢vim的人使用。
详细如下:好吧,详细点,这里写出一些基本的命令:【什么是vi】 vi就是linux命令行下的最著名的编辑器之一,(编辑器就是类似windows记事本的功能,不过vi功能比记事本强大无限倍!^_^),现在实际使用的都是vim,它是vi的改进版本,所以现在的vi基本上就是vim了。
【vi能做什么】 第一个功能不用多说,vi可以编辑文本文件。
至于其他的功能,多得无法列举,我只说我所知的一些典型的功能应用: (1)编辑文本文件 (2)方便地阅读程序源代码 (3)当文件目录浏览器来用 (4)提供编程、调试环境 (5)利用vi执行一些脚本文件(vi有自己的脚本文件语法) (x)等等等等......【vi的操作模式】   vi具有两种基本模式,为输入模式(或插入模式、编辑模式)和指令模式(或命令模式)。
输入模式下输入字符,文本就会显示在屏幕上;
而指令模式下输入字符就解释为一个输入命令并执行,而不会显示相应的字符。
理解指令模式最简单方式就是想象平时剪切、复制以及粘贴数据时所发生的情况。
 使用[Esc]键可以停止当前操作(插入或者命令)重新回到指令模式,准备接受新的指令。
如果本来就在指令模式下面,将会响铃一下。
【最基本的使用】 这里提供了使用vi得最基本的操作,能够实现大多数的编辑目的。
如果你肯花几分钟把“最基本的使用”的内容都实践一下,那么你至少可以独立地在vim中朝你想要得方向“前进”了。
如果你不想学习,那么就把它当作一个“字典”吧。
*用vi打开一个文件:输入“vifilename”.这里,filename就是你要打开的文件的名字,默认打开文件后vi处于指令模式。
*进入编辑模式编辑打开的文件:输入“i”.或输入“a”.进入编辑模式后,你可以直接敲入想要输入的字符到文件,两者的区别是i在当前字符前面开始插入,a在当前字符后面开始插入。
*退出编辑模式:输入“[Esc]”.这样,将返回指令模式,准备接收你要传达给vi的指令并执行,如果之前已经在指令模式下,那么系统将响铃提醒一下。
**以下命令都是在命令模式下进行:*撤销修改:输入“u”.这里,相比以前的vi来说,vim支持多步撤销。
*恢复修改:输入“[Ctrl]r”.这里,和撤销命令相反,是撤销的撤销,也可多步。
*复制行到剪切板:输入“yy”.*复制选定内容到剪切板:(1)输入“v”。
(2)按方向键将高亮选择的内容。
(3)输入“y”。
这里,开始输入v使vi临时进入了一个"选择模式",输入方向键可以选择,输入y将选择的内容复制剪切板。
*删除行:输入“dd”.注意,vi的删除等价于剪切,删除的内容会保存到剪切板中。
*删除选定内容:(1)输入“v”。
(2)按方向键将高亮选择的内容。
(3)输入“d”。
这里,开始输入v使vi临时进入了一个“选择模式”,输入方向键可以选择,输入d将选择的内容删除。
*粘贴:输入“p”.这样会将剪切板的内容粘贴到光标位置或者光标下一行。
*查找字符并定位到第一个匹配处:输入“/character”.这里character是待查找的字符,只要先输入/,再输入待查字符,最后回车即可定位到第一个匹配的字符处。
*定位到匹配查找的下一个字符处:输入“n”.*定位到匹配查找的上一个字符处:输入“N”.*保存文件:输入“:w”.注意w前面的':',输入':'之后,vim会将':'之后的输入解释为待执行的指令。
*退出:输入“:q”.这里,如果文件没有保存,将提示无法退出,除非你强制退出,不保存文件,或者保存退出。
*强制退出:输入“:q!”.*保存退出:输入“:wq”.或输入“ZZ”.*察看协助输入":help".**另外还有一个简易的教程:输入命令:vimtutor.
2023/3/8 12:50:14 8.54MB [软件工具] vim gvim vimWindows
1
共 16 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡