小编家附近有家包子店,味道嘿巴适,每天早上来买早点的人爆多。但是老板是个糊涂蛋,经常性的忘记先后顺序,也不记得别个要的到底是包子还是馒头,是稀饭还是要现榨的豆浆。其实,如果有一个小本本来记录,就完全可以解决这个问题。保证了先后,明细,当客人等不及走掉了或者变换了要求也可以很方便的更改。在编程中,我们叫做“命令模式”。
工具/原料
能够使用java编程的电脑一台
方法/步骤
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
6
创建测试函数测试,运行查看结果。
注意事项
喜欢我的文章,别忘了点赞+收藏!配合分享效果更佳哦~
上一篇:有效的学习模式
下一篇:战锤2全面战争战役攻略