文章目录
相关链接:
最终版: 《大话设计模式》C++实现:23 命令模式(三)抽象总结
1、场景说明
完善了 《大话设计模式》C++实现:23 命令模式(二)进阶版 中删除订单功能。
2、代码
2.1、结果

main.cpp
//松耦合方式2: 进阶版2
#include "ICommand.h"
#include "BakeMuttonCmd.h"
#include "BakeChickenWingCmd.h"
#include "Waiter.h"
void test2()
{
CBarbecuer* boy = new CBarbecuer();
ICommand* pBakeMuttonCmd = new CBakeMuttonCmd(boy);
ICommand* pBakeMuttonCmd1 = new CBakeMuttonCmd(boy);
ICommand* pBakeMuttonCmd2 = new CBakeMuttonCmd(boy);
ICommand* pBakeChickenWingCmd = new CBakeChickenWingCmd(boy);
ICommand* pBakeChickenWingCmd2 = new CBakeChickenWingCmd(boy);
CStock* pMuttonStock = new CStock(1, 5);
CStock* pChickenWingStock = new CStock(1, 6);
CWaiter* girl = new CWaiter(pMuttonStock, pChickenWingStock);
//开门营业,点餐
cout << "before order 羊肉串库存 = " << pMuttonStock->count() << endl;
cout << "before order 鸡翅库存 = " << pChickenWingStock->count() << endl;
girl->order(pBakeMuttonCmd);
girl->order(pBakeMuttonCmd1);
girl->order(pBakeMuttonCmd2);
girl->order(pBakeChickenWingCmd);
girl->cancelOrder(pBakeMuttonCmd1);//删除订单还有点问题,先屏蔽
girl->cancelOrder(pBakeMuttonCmd2);//删除订单还有点问题,先屏蔽
girl->

该文章介绍了使用C++实现命令模式来改进点餐系统,包括服务员、库存管理、烧烤师傅等角色。通过命令模式,实现了点餐、取消点餐和通知后厨的功能,增强了系统的灵活性和可维护性。文章还展示了具体的代码实现,如`Waiter`、`Stock`、`ICommand`等类的定义。
最低0.47元/天 解锁文章
1563

被折叠的 条评论
为什么被折叠?



