目录

  • 致谢
  • 序
    • 架构,性能和游戏
  • 重访设计模式
    • 命令模式
    • 享元模式
    • 观察者模式
    • 原型模式
    • 单例模式
    • 状态模式
  • 序列模式
    • 双缓冲模式
    • 游戏循环
    • 更新方法
  • 行为模式
    • 字节码
    • 子类沙箱
    • 类型对象
  • 解耦模式
    • 组件模式
    • 事件队列
    • 服务定位器
  • 优化模式
    • 数据局部性
    • 脏标识模式
    • 对象池模式
    • 空间分区
← 上一章 下一章 → ≡ 首页

解耦模式

游戏设计模式

一旦你摸到了编程语言的门道,写出你想要的代码实际上相当容易。 困难的是编写在需求变化时易于适应的代码。我们很少能奢侈地在打开编辑器之前就拥有完美的功能集。

让修改更轻松的强大工具是解耦。 当我们说两块代码“解耦”时,是指修改一块代码一般不需要修改另一块代码。 当我们修改游戏中的特性时,需要改动的代码位置越少,就越容易。

组件模式在单个实体内部将游戏中的不同领域彼此解耦,这个实体同时包含所有这些领域的特性。 事件队列解耦两个相互通信的对象,无论在静态层面还是在时间层面。 服务定位器让代码访问服务而无需绑定到提供该服务的代码。

模式

  • 组件模式
  • 事件队列
  • 服务定位器
← 上一章 下一章 → ≡ 首页
© 2009-2015 Robert Nystrom