Day03
大约 40 分钟开发笔记学习记录
day03
任务
- [x] 模板模式处理抽奖流程
学习过程
因为之前没学过设计模式,先学一学模板模式,用到一种学一种,哈哈哈
先看一下整个抽奖流程
抽奖过程 了解了抽奖流程之后就开始写代码
先写对应的 dao 层
- 要查策略吧?写个策略的 Mapper
- 要查策略详情吧?写个策略详情的 Mapper
- 要查奖品吧?要减奖品库存吧?要查没库存的奖品吧?写个奖品的 Mapper
然后实现 repository 层
这里主要是调 Mapper 将结果进行聚合封装
使用模板模式设计抽奖过程代码
- 顶层接口规定抽奖的入参出参
- 加一层 Config 把抽奖策略进行统一录入
- 配置完成后需要调用基础服务比如 repository 层,所以加一层基础支持
- 然后来一个抽象类,在这里实现接口的抽奖,抽奖接口里面写抽奖的流程,然后具体的方法交给子类实现
- 实现抽象类
测试
遇到的问题
相对于前两天,今天的内容算容易的,因为只有一个模板设计模式没学过,只要理清了思路、理清代码执行流程,今天应该算容易的
空指针 bug
今天太晚了,先注销那个判断吧,待会儿搞完又不想睡觉了,后面也会解决这个 bug 吧,先睡觉咯
:TODO
总结
今天主要就两件事,先学习模板设计模式,然后使用模板设计模式来组织抽奖流程,主要就是通过一系列的封装,把公用的代码提取出来,比如配置、执行流程、以及公用仓储服务,然后把接口留给实现类而达到同一套代码,不同的处理方法
收获:
- 今天对于前两天来说,对于包的组织架构以及 DDD 有了更深的理解,很明显的感觉到知道代码该写在哪了,找包都比前两天快
- 学习了模板模式,知道了模板模式的代码应该怎样组织,突然感觉那种设计模式大牛真的能把封装继承多态玩出花,有了设计模式,代码的扩展性提高了很多