游戏中常用哪些设计模式呢?


请列举3个以上设计模式在游戏中的应用场景、用这种模式的好处。

架构设计 讨论 设计模式

黄毛一代目 12 years ago

1、观察者模式(Observer)。
好处: 降低代码的耦合度。
应用:比如有个应用,玩家强化装备需要用到强化石,强化石数量不足时就不能强化,强化石可以从商城里购买到。这时候,就可以对玩家的物品增加Observer,当物品数量发生变化,就可以把这种变化通知到相应的应用中。

2、单例模式(Singleton)。
好处: 确保类只有一个实例,并且对该实例提供全局访问。
应用:有玩家信息的类Player,该类整个游戏中只会出现一个实例,因此可以设计成单例模式。

3、对象池模式(Object Pool)。
好处: 通过回收利用对象避免获取和释放资源所需的昂贵成本。
应用:比如有动画类Animation,当动画播放结束后,将对象放入对象池,以便下次可以进行复用,避免了多次new操作。

书上说对象模式是预先创建固定数量的对象,如果所有对象都被占用,后续请求被终止或者等待。这与我常用的对象池有些差别,我一般流程是先从对象池中取对象,如果没有取到就直接创建,用完后再放入到池子中。

天才你好。。 answered 12 years ago

Your Answer