《3D編程模式》寫書-第3次記錄
大家好,這段時間我完成了“積木模式”、“管道模式”、“多線程模式”、“依賴隔離模式”的初稿
目前我已經完成了所有模式(7個模式)的初稿,下面會給出它們的定義和使用場景,如果您正好能用到,請聯系我提前閱讀模式的初稿,歡迎大家給出反饋建議,您的大名有機會出現在《3D編程模式》的書中,感謝!
我的QQ號:
395976266
我的微信號:
chaogex
這里是所有的的寫書記錄:
《3D編程模式》寫書記錄
模式的概況
積木模式
定義
系統由積木搭建而成
使用場景
多人開發的大型系統
具體場景如下:
- 多人開發的引擎
- 多人開發的編輯器
管道模式
定義
將連續的、有一定執行順序的邏輯離散化為一個個獨立的Job,按照配置數據在管道中依次執行
使用場景
需要按串行或者并行的順序連續地執行多個邏輯
具體場景如下:
- 系統的初始化
- 引擎主循環中的更新、渲染
多線程模式
定義
首先并行運行多個線程,然后同步更新主線程數據
使用場景
需要渲染大型場景或者有并行邏輯的系統
具體場景如下:
- 需要渲染大型場景
- 開多個線程來并行地執行一些邏輯,如加載超大模型、進行復雜計算等邏輯
依賴隔離模式
定義
隔離系統的外部依賴,使得外部依賴的變化不會影響系統
使用場景
使用了頻繁變化的外部依賴的系統
具體場景如下:
-
替換編輯器使用的引擎
-
升級編輯器使用的引擎的版本
-
增加編輯器使用的引擎
拼接模式
定義
分解包括各種分支的大數據為小塊單位,按照配置文件來拼接
使用場景
系統需要構造包括各種分支的數據
具體場景如下:
- 構造引擎的Shader代碼
- 構造游戲的地圖數據
撤銷重做模式
定義
操作時保存不可變的state,撤銷/重做時取出對應的state來作為當前的state
使用場景
使用函數式編程范式開發的系統,該系統需要撤銷/重做功能
具體場景如下:
- 需要撤銷/重做功能的編輯器
- 需要保存/載入功能的游戲
ECS模式
定義
組合代替繼承,集中管理組件數據,分離邏輯和數據
使用場景
適合于大型的游戲,場景中有很多人物,人物的行為很多或者很復雜
具體場景如下:
- 有很多個種類的游戲人物的游戲
- 游戲人物有很多的行為,而且還經常會增加新的行為
浙公網安備 33010602011771號