# 《拼团交易平台系统》第2-30节:设计模式重构退单
作者:小傅哥
博客:https://bugstack.cn (opens new window)
视频:https://t.zsxq.com/TsTt5 (opens new window)
沉淀、分享、成长,让自己和他人都能有所收获!😄
# 一、本章诉求
通过设计模式重构现有退单流程。
在整个退单的功能实现的过程中,是没有过多引入设计模式的,更多的是以完成功能流程为主。那么本节我们则使用责任链、抽象类、工厂,来把目前的退单流程设计进行优化调整。
这样做的目的是为了让小白伙伴,具备了业务流程的理解和对应代码功能的开发基础上,在学习使用设计模式来优化流程代码,会更加得心应手!
# 二、功能流程
如图,整个退单通过设计模式优化的结构;

- 第一条退单链路,以工厂🏭方式获取执行责任链,责任链的作用是拆分原有的流程结构,分节点进行逐步处理。之后到退单的具体操作,则根据枚举策略,拿到对应执行的退单策略模式,完成退单动作。退单执行后发送MQ消息,驱动后续流程。
- 第二条消息消息,从接收 MQ 开始,以 MQ 消息中的策略类型进行库存恢复操作。这部分保持原有的走对应的策略即可。