3D编程模式:开篇

大家好~现在开始新的系列文章:3D编程模式系列
本系列会介绍从我的实际开发经验中抽象提炼出来的编程模式,大家可直接应用它们到3D引擎开发、编辑器开发等领域中

系列文章目录:
3D编程模式:介绍设计原则
3D编程模式:依赖隔离模式

个人相关经验

我已经在Web3D领域有1万小时的开发经验,主要工作包括3D引擎开发、编辑器开发等。
我至少完全重写了5次3D引擎,完全重写了2次编辑器,commit至少7000次,有效代码行数至少20万以上。
我在长期的开发过程中,不断地改进架构设计,发现并应用了很多新的编程模式。这些编程模式是基于函数式编程范式的。
在本系列中,我会与大家分享基于我的实践而发现和应用的编程模式,感谢大家~

为什么需要编程模式?

这个世界处于不断的变化中,需求也在不断的变化
为了应对需求的变化,减少变化影响的范围,我们需要进行设计
在不断地改进设计的过程中,可以发现一些通用的模式。将其抽象和提炼出来,便于沟通交流;将其固化为一套框架,可以减少重复代码

编程模式如何服务于设计?

我们通过下面的几个维度来进行架构设计:
以抽象、封装为基本方法
以高内聚、低耦合为评判标准
以设计原则为指导思想
以编程模式为实现框架

所以编程模式主要应用于架构设计的实现中。如果说设计原则属于战略层面,那么编程模式就属于战术层面。

适用领域

本系列提出的3D编程模式主要适用于:
3D引擎开发
编辑器及工具开发

当然也可以应用在其它领域,如富应用开发等。

技术栈

  • 使用Typescript作为具体案例的编程语言
  • 使用WebGL和WebGPU作为具体案例的图形API

本系列特色

  • 使用函数式编程范式
  • 每个模式相互独立,用户可以选择性的阅读,降低学习成本
  • 模式是从实际开发经验中提炼而来,实战性强

目标读者

  • 3D引擎开发者
  • 编辑器及工具开发者
  • 游戏开发者
  • 函数式编程的爱好者

能给读者带来什么收益?

  • 学习函数式编程范式的编程模式
  • 学习3D引擎和编辑器的编程模式
  • 学习编程模式的综合应用和最佳实践
posted @ 2022-06-08 17:16  杨元超  阅读(64)  评论(1编辑  收藏  举报