给我一个真实的,非平凡的状态模式使用

时间:2010-09-22 11:23:49

标签: design-patterns state

我正在寻找状态设计模式用于解决或简化有趣或复杂状态转换的示例。有很多例子有三个或四个简单状态。但是,具有子状态和超过少数过渡的现实生活项目中的代码呢?实际上促使使用模式的代码类型。奖金指向代码的指针!

2 个答案:

答案 0 :(得分:13)

到目前为止我所看到的状态模式的一个真实用途是在能够播放在线视频的视频播放器中。

你必须处理游戏,暂停,缓冲,连接,寻求甚至其他状态。

当玩家处于播放或暂停状态时,它会响应用户互动事件 当播放器处于“连接”状态时,可能没有足够的数据来了解视频持续时间,因此应禁用搜索栏。
连接播放器后,它将进入缓冲状态。在缓冲状态下,用户可以搜索或停止视频。但是如果他试图暂停或播放视频,则命令会保存以供日后使用,以便在缓冲完成后,视频暂停或开始播放。等

答案 1 :(得分:1)

红绿灯系统(时间触发|传感器[事件]触发)

States :RED,YELLOW,GREEN(最简单的例子)

过渡:定时器将红色变为绿色,绿色变为黄色,黄色变为红色。