Answers
1、观察者模式(Observer)。
好处:
降低代码的耦合度。
应用:比如有个应用,玩家强化装备需要用到强化石,强化石数量不足时就不能强化,强化石可以从商城里购买到。这时候,就可以对玩家的物品增加Observer,当物品数量发生变化,就可以把这种变化通知到相应的应用中。
2、单例模式(Singleton)。
好处:
确保类只有一个实例,并且对该实例提供全局访问。
应用:有玩家信息的类Player,该类整个游戏中只会出现一个实例,因此可以设计成单例模式。
3、对象池模式(Object Pool)。
好处:
通过回收利用对象避免获取和释放资源所需的昂贵成本。
应用:比如有动画类Animation,当动画播放结束后,将对象放入对象池,以便下次可以进行复用,避免了多次new操作。
书上说对象模式是预先创建固定数量的对象,如果所有对象都被占用,后续请求被终止或者等待。这与我常用的对象池有些差别,我一般流程是先从对象池中取对象,如果没有取到就直接创建,用完后再放入到池子中。
天才你好。。
answered 12 years ago