文章目录
一、状态模式简介
二、状态模式适用场景
三、状态模式优缺点
四、状态模式相关设计模式
五、状态模式代码示例
1、状态类父类
2、播放状态类
3、暂停状态类
4、快进状态类
5、停止状态类
6..., 也可以只 控制 该对象的状态 的 互相转换 ;
当控制一个对象 , 其状态转换过程比较复杂时 , 将 状态判断逻辑 , 转到代表不同状态的一系列类中 ;
如 : 引入 视频播放 的业务场景 , 播放器有..., 如 :
购买物品 , 将物品放入购物车并生成订单 , 可以进行付款 ; 如果 订单 超过 24 小时后 , 被关闭订单 , 此时订单取消 , 无法付款 ;
电梯运行时 , 不能开门 ; 电梯停止后...;
四、状态模式相关设计模式
状态模式 与 享元模式 , 可以配合在一起使用 , 可以使用享元模式 , 在多个上下文中 , 共享状态实例 ;
五、状态模式代码示例
业务场景 :
视频播放器 , 有 :...暂停 , 播放 , 快进 , 停止 , 四个状态 ;
在 停止 状态下 , 无法快进 , 如果当前是 停止 状态 , 此时要转为 快进 状态 , 需要进行校验 ;
如果不使用 状态模式 , 则需要进行