, 也可以只 控制 该对象的状态 的 互相转换 ;
当控制一个对象 , 其状态转换过程比较复杂时 , 将 状态判断逻辑 , 转到代表不同状态的一系列类中 ;
如 : 引入 视频播放 的业务场景 , 播放器有...初始状态 , 播放状态 , 暂停状态 , 停止状态 , 快进状态 等多种状态 , 将这些 状态 都封装到 代表不同状态的类 中 , 可以将复杂的判断逻辑简化 , 将这些 逻辑 扩展到不同的状态类中 ;...暂停时 , 只需要调用 PlayState 父类 VedioState 的上下文 VedioContext
* 将上下文 VedioContext 中的状态 , 设置为 暂停 的状态即可...package state;
/**
* 视频暂停状态
* 暂停状态 可以 切换到 播放 , 快进 , 停止 状态
*/
public class PauseState extends...System.out.println("暂停播放视频");
}
/**
* 快进时 , 只需要调用 PlayState 父类 VedioState 的上下文 VedioContext