欢迎光临散文网 会员登陆 & 注册

《游戏编程模式》笔记——享元模式

2023-08-30 21:07 作者:黑白色的枫  | 我要投稿

享元模式的定义

享元模式是一种结构型设计模式。

把一个对象的状态分成内部状态和外部状态,内部状态即是不变的,外部状态是变化的,通过共享不变的部分,达到减少对象数量并节约内存的目的。其本质是缓存共享对象,降低内存消耗。

应用场景

有大量相同相似对象的情况。

共享部分足够多的时候才有必要使用。

目的

减少大量内存使用。

降低程序需要处理的数据量。

创造需要共享信息的大量实例更方便。

实现方式

设计数据结构,使结构包含共享部分。

对象实例仅引用共享部分,不对其进行修改。

例子

再例如吸血鬼like游戏中,屏幕中大量出现的敌人,每个敌人都指向一个基本数据,这个数据会定义这个敌人的血量,攻击力,移动速度等信息。每个敌人会保存一份自己的实际血量来判断自己是否死亡,在受到伤害时,不会去对共享的基本数据做修改,而是修改自己的实际血量。


参考:

《游戏编程模式》

http://m.weizhi.cc/tech/detail-259012.html

设计模式-享元(Flyweight) - 麒麟的文章 - 知乎 https://zhuanlan.zhihu.com/p/568604535

《游戏编程模式》笔记——享元模式的评论 (共 条)

分享到微博请遵守国家法律