, 也可以只 控制 该对象的状态 的 互相转换 ;
当控制一个对象 , 其状态转换过程比较复杂时 , 将 状态判断逻辑 , 转到代表不同状态的一系列类中 ;
如 : 引入 视频播放 的业务场景 , 播放器有...;
四、状态模式相关设计模式
状态模式 与 享元模式 , 可以配合在一起使用 , 可以使用享元模式 , 在多个上下文中 , 共享状态实例 ;
五、状态模式代码示例
业务场景 :
视频播放器 , 有 :...暂停 , 播放 , 快进 , 停止 , 四个状态 ;
在 停止 状态下 , 无法快进 , 如果当前是 停止 状态 , 此时要转为 快进 状态 , 需要进行校验 ;
如果不使用 状态模式 , 则需要进行...package state;
/**
* 视频暂停状态
* 暂停状态 可以 切换到 播放 , 快进 , 停止 状态
*/
public class PauseState extends...System.out.println("暂停播放视频");
}
/**
* 快进时 , 只需要调用 PlayState 父类 VedioState 的上下文 VedioContext