v1.1
学习总结:
新建活动配置中,一个事务涉及多张表的更新操作,在方法级别上加@Transactional注解,保证事务原子性,在失败情况下可以全部回滚。
活动状态流转中用到了状态模式,一个对象有多种状态,而不同的状态决定对象不同行为的实现。初始化保存活动抽象类到内存中,在实现类中从内存中获取对应活动实现类来执行具体活动状态的行为,这个方式和前面章节award中初始化保存不同奖品配送结果类到内存中一致,有种工厂模式的感觉。
收获:学习活动状态流转,自己对代码设计有了更深的理解,做到每个类各司其职,也对抽象有了更深的感触。
活动状态配置类:初始化所有活动状态抽象类并保存在map中
活动状态接口:提供给外部作为活动状态流转的唯一入口
活动状态接口实现类:不做真正的业务处理,从map中获取活动状态抽象类做具体的行为实现
活动状态抽象类:各个活动状态的方法定义
活动状态抽象实现类:针对不同的活动状态做具体的实现