8

我正在寻找一个使用状态设计模式来解决或简化有趣或复杂状态转换的示例。有很多具有三四个简单状态的示例。但是现实生活项目中的代码有子状态和多个转换呢?真正激发使用模式的代码类型。奖励点指向代码!

4

2 回答 2

16

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

你必须处理播放、暂停、缓冲、连接、搜索甚至其他状态。

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

于 2010-09-22T12:15:32.803 回答
2

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

状态:红色、黄色、绿色(最简单的示例)

过渡:在计时器将红色变为绿色、绿色变为黄色、黄色变为红色之后。

于 2017-05-23T04:56:47.657 回答