本文写于该系统开发完成后的第二年,那时候博主大2,有一门名为《程序设计方法学》的课程,老师上课很幽默风趣,也经常给我们带来一些时事新闻。当然,课余也会给我们布置一些作业。其中“KFC宅急送点餐系统开发”就是该作业中的一次。隐约记得当时的要求是这样的:仿照KFC网站的页面,设计出的自己的C/S模式的 KFC宅急送 系统,要求用到设计模式的知识。本系统由@SnailSet Yin与 我共同完成,其中@SnailSet负责设计模式设计,博主负责MFC界面设计。(提示:运行效果展示请直接跳到最后面)。
目录:
以下是当时写的一些文档,
设计模式 作者:@SnailSet Yin
本程序共有三种六个类,分别是:
- CActivity类 及其子类:
- CNormalActivity
- CRebateActivity
- CReturnActivity
- CStatistics类
- CGlobal类
类的关系如下图,这里对这些类进行简要的文字说明,
CActivity基类
CActivity类是活动类的基类,给出通过活动计算收费接口。据我了解活动能够改变最后支付结果的有三种,
- 正常收费: 不优惠;
- 打折收费: 比如 打九折;
- 返利收费: 比如 满100返10。
分别用下面三个类描述:
- CNormalActivity 正常收费;
- CRebateActivity 打折收费,折率可变;
- CReturnActivity 返利收费,返利条件和返利可变
还有什么“买二赠一”等活动不改变最后支付结果,所以程序里不用描述只要收银员收两份的钱,然后送出一份。
CStatistics类
CStatistics类负责统计和维护购买信息,包括计算最终收费结果、打印小票等。