《3D編程模式》寫書-第3次記錄

大家好,這段時間我完成了“積木模式”、“管道模式”、“多線程模式”、“依賴隔離模式”的初稿

目前我已經完成了所有模式(7個模式)的初稿,下面會給出它們的定義和使用場景,如果您正好能用到,請聯繫我提前閱讀模式的初稿,歡迎大家給出反饋建議,您的大名有機會出現在《3D編程模式》的書中,感謝!

我的QQ號:
395976266

我的微信號:
chaogex

這裏是所有的的寫書記錄:
《3D編程模式》寫書記錄

模式的概況

積木模式

定義

系統由積木搭建而成

使用場景

多人開發的大型系統

具體場景如下:

  • 多人開發的引擎
  • 多人開發的編輯器

管道模式

定義

將連續的、有一定執行順序的邏輯離散化爲一個個獨立的Job,按照配置數據在管道中依次執行

使用場景

需要按串行或者並行的順序連續地執行多個邏輯

具體場景如下:

  • 系統的初始化
  • 引擎主循環中的更新、渲染

多線程模式

定義

首先並行運行多個線程,然後同步更新主線程數據

使用場景

需要渲染大型場景或者有並行邏輯的系統

具體場景如下:

  • 需要渲染大型場景
  • 開多個線程來並行地執行一些邏輯,如加載超大模型、進行復雜計算等邏輯

依賴隔離模式

定義

隔離系統的外部依賴,使得外部依賴的變化不會影響系統

使用場景

使用了頻繁變化的外部依賴的系統

具體場景如下:

  • 替換編輯器使用的引擎

  • 升級編輯器使用的引擎的版本

  • 增加編輯器使用的引擎

拼接模式

定義

分解包括各種分支的大數據爲小塊單位,按照配置文件來拼接

使用場景

系統需要構造包括各種分支的數據

具體場景如下:

  • 構造引擎的Shader代碼
  • 構造遊戲的地圖數據

撤銷重做模式

定義

操作時保存不可變的state,撤銷/重做時取出對應的state來作爲當前的state

使用場景

使用函數式編程範式開發的系統,該系統需要撤銷/重做功能

具體場景如下:

  • 需要撤銷/重做功能的編輯器
  • 需要保存/載入功能的遊戲

ECS模式

定義

組合代替繼承,集中管理組件數據,分離邏輯和數據

使用場景

適合於大型的遊戲,場景中有很多人物,人物的行爲很多或者很複雜

具體場景如下:

  • 有很多個種類的遊戲人物的遊戲
  • 遊戲人物有很多的行爲,而且還經常會增加新的行爲
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章