Unity中的游戏编程模式
这里收集了Unity中的一系列编程(设计)模式,主要来自《游戏编程模式》一书。这些模式对于更好地组织日益增长的Unity项目非常有用,因为它们捕捉了最佳实践和常见问题的解决方案。你不必使用它们 - 应该将它们视为工具箱中的工具。你也可以根据具体需求尝试不同的实现方式。有些模式,如Update、Game Loop、Component等已经内置于Unity中,你已经在使用它们了!
编程模式可以分为以下几组:
- 架构模式。 例如MVC(模型-视图-控制器)。
- 设计模式。 比架构模式更具体,如单例模式。
- 反模式。 是程序员用来解决问题的一系列模式,尽管不应该使用它们,因为它们是无效的解决方案。一个例子是"上帝对象",通常称为GameController,在其中收集了使游戏运行所需的一切。这种类的问题在于它会不断增大,从而更难维护,同时由于代码不属于一起,也更难调试。
《游戏编程模式》一书中的模式:
- 命令模式
- 享元模式
- 观察者模式
- 原型模式
- 单例模式
- 状态模式
- 双缓冲模式
- 游戏循环模式
- 更新方法模式
- 字节码模式
- 子类沙盒模式
- 类型对象模式
- 组件模式
- 事件队列模式
- 服务定位器模式
- 数据局部性模式
- 脏标记模式
- 对象池模式
- 空间分区模式
其他模式:
请注意,这些并非所有存在的模式。我最近读了一本名为《机器学习设计模式》的书,其中包含了更多专注于机器学习问题的设计模式。但我会继续添加模式,只要我发现它们与游戏开发相关。
资源和延伸阅读
特别鸣谢
- masoudarvishian 实现了事件队列模式、服务定位器模式,并修复了bug。
- VladimirMirMir 修复了bug。
- JayadevHaddadi 修复了事件代码。