3D編程模式:開篇
大家好~現在開始新的系列文章:3D編程模式系列
本系列會介紹從我的實際開發經驗中抽象提煉出來的編程模式,大家可直接應用它們到3D引擎開發、編輯器開發等領域中
相關資料:
系列文章目錄:
個人相關經驗
我已經在Web3D領域有1萬小時的開發經驗,主要工作包括3D引擎開發、編輯器開發等。
我至少完全重寫了5次3D引擎,完全重寫了2次編輯器,commit至少7000次,有效代碼行數至少20萬以上。
我在長期的開發過程中,不斷地改進架構設計,發現并應用了很多新的編程模式。這些編程模式是基于函數式編程范式的。
在本系列中,我會與大家分享基于我的實踐而發現和應用的編程模式,感謝大家~
為什么需要編程模式?
這個世界處于不斷的變化中,需求也在不斷的變化
為了應對需求的變化,減少變化影響的范圍,我們需要進行設計
在不斷地改進設計的過程中,可以發現一些通用的模式。將其抽象和提煉出來,便于溝通交流;將其固化為一套框架,可以減少重復代碼
編程模式如何服務于設計?
我們通過下面的幾個維度來進行架構設計:
以抽象、封裝為基本方法
以高內聚、低耦合為評判標準
以設計原則為指導思想
以編程模式為實現框架
所以編程模式主要應用于架構設計的實現中。如果說設計原則屬于戰略層面,那么編程模式就屬于戰術層面。
適用領域
本系列提出的3D編程模式主要適用于:
3D引擎開發
編輯器及工具開發
當然也可以應用在其它領域,如富應用開發等。
技術棧
- 使用Typescript或者Rescript作為具體案例的編程語言
- 使用WebGL作為具體案例的圖形API
WebGL=OpenGL 2.0/DX9
本系列特色
- 使用函數式編程范式
- 每個模式相互獨立,用戶可以選擇性的閱讀,降低學習成本
- 模式是從實際開發經驗中提煉而來,實戰性強
目標讀者
- 3D引擎開發者
- 編輯器及工具開發者
- 游戲開發者
- 函數式編程的愛好者
能給讀者帶來什么收益?
- 學習函數式編程范式的編程模式
- 學習3D引擎和編輯器的編程模式
- 學習編程模式的綜合應用和最佳實踐
大家好~現在開始新的系列文章:3D編程模式系列
本系列會介紹從我的實際開發經驗中抽象提煉出來的編程模式,大家可直接應用它們到3D引擎開發、編輯器開發等領域中
浙公網安備 33010602011771號