贯穿设计模式:用一个电商项目详解设计模式_伟山育琪_AZW3_MOBI_EPUB_PDF_电子书(无页码)_伟山育琪
内容节选
第4章商品订单状态转化与处理 ——状态模式+观察者模式+命令模式 4.1 本章要点 网络购物,已然成为当今热门的消费方式。从商品的“订单创建”,到“订单支付”,再到“物流配送”,以及到最后的“订单签收”,这一系列的订单状态转化过程,诠释了订单的整个生命周期。而本章,我们就要针对商品订单状态的转化展开我们的项目实战。通过状态模式,诠释订单状态;通过观察者模式,监听订单状态的转化;通过命令模式,为不同的订单状态封装订单的转发、存储等辅助逻辑。 遗憾的是,状态模式和观察者模式的通用UML类图,在真实的实战过程中已无用武之地,原因如下。 ①从实战角度,直接使用状态模式的通用UML类图,需要根据订单状态的数量,相应地创建订单状态的子类,导致一定程度的类膨胀。 ②从实战角度,直接使用状态模式的通用UML类图,会导致@Service逻辑层形同虚设。 ③从实战角度,状态模式通用UML类图中的Context上下文角色是有状态的,因此每个订单都需要创建一个Context上下文角色。并且Context上下文角色需要伴随订单的整个生命周期。 ④从实战角度,直接使用观察者模式通用UML类图,在SpringBoot框架下,无法在被观察者的抽象角色中“优雅”地注入观察者。 ⑤从实战角度,既然有了SpringBoot框架,谁还会自己写观察者模式呢?可能部分读者无法完全理解笔者提出的以上五点原因,请不必着急,后续我会为大家一一说明。· 本章前半部分,笔者依然会为大家展示通用UML类图下的状态模式和监听者模式的实战过程,在实战过程中,为大家一一印证以上五点原因,带大家亲身体验通用UML类图存在的问题;同时,在整个实战过程中,读者也能够对“状态模式”和“观察者模式”有更深的理解。 ·本章后半部分,笔者会为大家展示企业开发过程中真实的状态模式(使用状态机Spring StateMachine)和观察者模式(监听状态机)的实战过程,并在订单消息处理的过程中,引入命令模式进行订单的转发及存储。 笔者恳切建议,万不可跳过本章前半部分的内容。通过前半部分内容的学习,读者能够透彻地掌握状态模式通用UML类图和观察者模式通用UML类图,还能够发现通用UML类图在订单状态实战过程中存在的缺陷。更重要的是,本章前半部分内容,能够与本章后半部分状态机(State Machine)的使用形成对比,没有对比就没有“伤害”,只有在对比过程中,我们才能发现State Machine的美,才能明白真实的企业实战环境对设计模式的改造(因需求制宜)。本章要点内容如下: _________________________________________________________________ |---------------------------本章前半部分 不推荐但“必看”---------------------------| _________________________________________________________________· 状态模式实战——UML类结构分解及方法定义(不推荐使用通用UML类图)。 ·状态模式实战——订单状态转化(不推荐使用通用UML类图)。 ·观察者模式实战——UML类结构分解及方法定义(不推荐使用通用UML类图)。 ·观察者模式实战——订单事件监听(不推荐使用通用UML类图)。 _________________________________________________________________ |---------------------------本章后半部分 推荐“更要必看”---------------------------| _________________________________________________________________· 状态机(State Machine)介绍(推荐)。 ·状态模式实战——使用Spring状态机(State Machine)(推荐)。 ·观察者模式实战——监听Spring状态机(监听State Machine)(推荐)。 ·命令模式实战——UML类结构分解及方法定义(推荐)。 ·命令模式实战——订单状态的辅助处理逻辑(推荐)。 订单状态转化,是一个非常大的需求模块,通过本章的学习,笔者为大家勾勒出核心代码结构和核心流程。掌握了本章内容,读者便可以根据工作中所面临的具体需求进行更加细节的代码填充和逻辑控制。诚待君,授以渔,望君意之,悟之,得之,用之不滞。 4.2 实战需求发布会 项目经理:目前咱们公司的网站,都是代销第三方商品,咱们只是一个入口,真正的商品下单、购买、发货、收货等核心流程,都是第三方公司操作。目前用户越来越多,仅仅做代销赚取提成的话,利润太少......
- 信息
- 内容简介
- 推荐1
- 推荐2
- 前言
- 第1章 设计模式的原则与分类
- 第2章 多种类第三方账号登录
- 第3章 商品类目管理
- 第4章 商品订单状态转化与处理
- 第5章 多种类第三方支付
- 第6章 业务投放
- 第7章 平台积分更新及红包发放
- 第8章 开具电子发票
- 第9章 朋友代付
- 第10章 订单审计日志设计
- 第11章 ES日志查询
- 第12章 结语