多媒體播放器是否有設計模式?我一直在互聯網上搜索,但我沒有發現與玩家的體系結構有關的模式。我查看了一些玩家(MPlayer VLC)的來源,但我無法識別玩家使用的任何模式。我想建立一個播放器,支持不同的媒體在不同的模塊中實現。玩家將是一個獨特的進程(服務器),應該被其他客戶端進程使用,客戶端會請求玩家播放媒體,然後請求會被玩家處理。玩家設計模式
Q
玩家設計模式
0
A
回答
5
我不知道,如果它只是我的關於設計模式megahype導致絕對荒謬的行爲(個人觀點見解),但消極的想法:
你不應該問自己「能適應什麼設計模式爲我想編碼的XYZ類型的應用程序「。
這是做事絕對錯誤的方式。設計模式不是您分配給您編碼的程序的樂高塊。模式自然會在特定的領域發展。
如果您瞭解模式,它可能會幫助您查看可能是一個好的解決方案。但絕不僅僅是爲了它而將一些模式包裝在一起。
mmplayer的模式真的是一個糟糕的問題。你可能會說你需要不同的編解碼器來完成相同的任務,這可能會在工廠模式下在特定領域發展。您可能需要一些具有容錯功能的流式傳輸功能,這些功能可能會在漏斗式計數器中演變。
您可能會重新考慮您的問題。我認爲完全沒有意義。
真的,沒有冒犯!但是我認爲你在設計決策的意義上會走向錯誤的方向。以不同的方式來處理它可能是最好的。
1
媒體播放器是一個完整的應用程序。對於整個應用程序來說,沒有這種「設計模式」。
然而,一些軟件家族(比如電子遊戲)幾乎總是有一些共同的建築特性。但是我們處於應用程序架構層面,而不是設計模式層面,這通常被認爲是代碼層面的概念。
恐怕沒有媒體播放器類應用程序的參考體系結構,但是,您可以依賴許多不同的,不太具體的體系結構原則。例如,設計複合應用程序是相當普遍的做法。你會發現很多關於如何創建一個可以加載模塊或編解碼器的插件系統的專門文獻。
0
你可以看看Audacity架構,並在同一個域看到一個好的SW設計: http://www.aosabook.org/en/audacity.html
Audacity是一款流行的錄音機和音頻編輯器。這是一個有能力的 程序,同時仍然易於使用。大多數用戶使用的是Windows的 ,但同樣的Audacity源代碼編譯也可以在Linux和Mac上運行 Mac。
相關問題
- 1. 計算玩家
- 2. 玩2.0 Morong設計模式與mongodb
- 3. 構建模式中的Roblox玩家
- 4. 不同xml作家的設計模式
- 5. UI設計 - 城市/國家的設計模式下降? (ASP.NET MVC)
- 6. 雙玩家號碼作戰模擬器青睞第二玩家
- 7. 「國家設計模式」可以被認爲是「建築模式」?
- 8. 什麼是在玩遊戲的過程中計算玩家之間玩家的時間的最佳方式
- 9. 玩家類中需要玩家對象
- 10. 基於遊戲服務器日誌事件的玩家統計數據的MongoDB模式設計?
- 11. Java:不計算CPU玩家價值
- 12. 爪哇 - 玩家收集 - 計算勝/負
- 13. 從XML獲取玩家統計信息
- 14. 計算玩家WinLoss百分比
- 15. 尋找與其他玩家出場兩次玩過的玩家
- 16. 玩家,敵人和子彈互動(遊戲設計)
- 17. 玩家配置
- 18. PostgreSQL在玩家
- 19. 周圍玩家
- 20. 在玩家
- 21. 設計模式
- 22. 設計模式:
- 23. 設計模式
- 24. 設計模式
- 25. 設計模式
- 26. 設計模式
- 27. 設計模式
- 28. 設計模式?
- 29. 設計模式
- 30. 加速度計修正 - 允許玩家從任何角度玩