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引擎和编辑器的编程模式
- 学习编程模式的综合应用和最佳实践