网站首页 美食营养 游戏数码 手工爱好 生活家居 健康养生 运动户外 职场理财 情感交际 母婴教育 时尚美容

设计模式笔记之命令模式

时间:2024-10-15 10:02:36

1、命令模式(Command)定义:将一个请求封装成一个对象,从而让你使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。UML类图如下。(PS: UML图来自《大话设计模式》一书)

设计模式笔记之命令模式

2、我们规划下这个包子店的角色,一个服务员兼收钱的(Waiter), 一个拿包子打豆浆的(Baker),假设就两种工作拿包子(Baozi)和打豆浆(Doujiang),这两中工作就对应了类图中的ConcreteCommand角色。先创建Baker类。

设计模式笔记之命令模式

3、创建Command抽象类,包含Baker实例,构造函数和execute方法。

设计模式笔记之命令模式

4、创建具体命令类,DoujiangCommand和BaoziCommand继承于Command类。顺便重写了toString方法,方便于打印日志。

设计模式笔记之命令模式

5、创建Waiter类,用于听取客户需求和通知Baker送食物。-List<Command> commands: 用于台仵瑕噤存储客户的需求-setOrder: 客户要食物-cancelOrder: 客户取消先前要的食物-notifyBaker: 通知Baker送食物过来

设计模式笔记之命令模式

6、创建测试函数测试,运行查看结果。

设计模式笔记之命令模式
© 2025 小知经验
信息来自网络 所有数据仅供参考
有疑问请联系站长 site.kefu@gmail.com