;
如 : 引入 视频播放 的业务场景 , 播放器有 初始状态 , 播放状态 , 暂停状态 , 停止状态 , 快进状态 等多种状态 , 将这些 状态 都封装到 代表不同状态的类 中 , 可以将复杂的判断逻辑简化..., 这时就需要对状态进行拆分处理 ;
四、状态模式相关设计模式
状态模式 与 享元模式 , 可以配合在一起使用 , 可以使用享元模式 , 在多个上下文中 , 共享状态实例 ;
五、状态模式代码示例
业务场景...(VedioContext.PLAY_STATE);
}
/**
* 不能暂停
*/
@Override
public void pause() {..., 共享同一个对象
*
* 上下文也有 play , pause , speed , stop 等状态
* 执行这些方法时 , 调用状态的相应方法
*/
public class VedioContext...() {
this.mVedioState.play();
}
public void pause() {
this.mVedioState.pause