说到命令模式,本书中记录了它如何实现倒退,以及实现用流的方式将命令用在任何怪物,以及任何AI触发的情景上。
在2.5参考中,作者提到了子类沙盒这个概念。听上去非常有趣。忍不住预先看看第12章。
第12章看完了,这个子类沙盒似乎是一种思考方式(做游戏的平日里会经常思考的那种,书中说它很像是外观模式),里面最后有几个点很有帮助,
- 问题:当基类的内容很多,难以调试时怎么办?
- 回答:新建一个总结了某一块内容的类,比如音乐类,让基类去获得。这样可以在音乐类中维护一些音乐接口。
- 问题:要外部调用时,每一个子类都需要初始化这么一个外部类,不是很麻烦嘛?
- 回答:是很麻烦,如果要看上去简单一点,就封装一个过程,但仍然要传入这个功能类实例进去的。
- 问题:有没有不用传的方法?我每个子类这样做真的很麻烦。
- 回答:有两个,一个使用静态方法,让基类中的实例也是静态,init实例的方法也是静态。那么先启动基类的这个方法,子类就可以自动访问到了。另一个方法是使用服务器调用,嗯~
然后我们来看看
模板函数模式
作者说模板函数模式是命令模式的反面。因为模板函数模式正是基类来定义骨架,让继承类来实现操作的。
更新方法模式呢?
作者说:
当你采用更新方法模式的时候,你的更新函数通常也是一个沙盒函数。