我正在尋找狀態設計模式已被用來解決或簡化有趣或複雜的狀態轉換的例子。有很多三個或四個簡單狀態的例子。但是那些具有子狀態和不止一些轉換的實際項目代碼呢?實際激發模式使用的代碼類型。獎金指向代碼的指針!給我一個現實生活,非平凡的使用狀態模式
4
A
回答
11
迄今爲止,我所見過的狀態模式的一種實際使用是在能夠播放在線視頻的視頻播放器中。
你必須處理播放,暫停,緩衝,連接,尋求甚至其他狀態。
當播放器處於播放或暫停狀態時,它響應用戶交互事件。
當玩家處於「連接」狀態時,它可能沒有足夠的數據來知道視頻持續時間,因此應禁用搜索欄。
一旦玩家連接,它將移動到緩衝狀態。在緩衝狀態下,用戶可以尋找或停止視頻。但是如果他試圖暫停或播放視頻,那麼稍後會保存該命令,以便在緩衝完成後,視頻暫停或開始播放。等
1
紅綠燈系統(時間觸發|傳感器[事件]觸發)
美國:紅,黃,綠(最簡單的例子)
過渡:一個計時器改變之後紅色變爲綠色,綠色變爲黃色,黃色變爲紅色。
相關問題
- 1. 使用引用實現狀態模式
- 2. 實現狀態模式
- 3. 非模態「狀態」形式
- 4. 「現實生活」中的戰略模式
- 5. 現代,非平凡的Pygame教程?
- 6. NHibernate和狀態模式持久性 - 一個很好的實現?
- 7. 示例非平凡的Java EE web服務實現?
- 8. 在WPF中實現狀態機模式
- 9. 處於活動狀態和非活動狀態的狀態圖
- 10. 是否有使用java實現狀態機的標準模式?
- 11. java.util.Iterator的實現是否使用狀態模式?
- 12. 非活動狀態
- 13. 用Karma測試一個非平凡的AngularJS應用程序
- 14. 設計模式來組織非平凡的ORM查詢?
- 15. 如何使用DDD實現狀態模式
- 16. 使用MVVM模式實現UI狀態機
- 17. 如何讓GCC實例化一個具有非平凡const/dest的類實例?
- 18. 使用Scala Play和Slick,我如何將非平凡關係傳遞給視圖
- 19. 爲我的生活添加一個jquery活動狀態給一個手風琴家
- 20. 使用jquery克隆表單現在處於非活動狀態
- 21. 使用狀態模式解耦狀態
- 22. 非平凡惰性評估
- 23. 大塊非平凡重塑
- 24. MySql非平凡選擇
- 25. 如何使現有的水平菜單處於活動狀態?
- 26. 完全非平凡依賴和非平凡依賴之間的區別
- 27. 平凡的動態mod_rewrite
- 28. 「狀態模式」vs「每個狀態的一個成員函數」?
- 29. 在實現狀態模式時將鍵綁定應用於狀態轉換
- 30. 我該如何解決一個類中的單態模式狀態模式