设计模式学习笔记--享元模式

本文详细探讨了面向对象设计模式中的享元模式,通过对比没有使用享元模式和使用后的例子,阐述了该模式如何有效地减少内存中对象的数量,提高性能。同时,解释了享元模式中的内部状态和外部状态概念,最后对享元模式做了全面的总结。
摘要由CSDN通过智能技术生成

一.简介


今天来学习一下享元模式,英文名字叫flyweight pattern,字面上看是轻量级的意思,还是感觉中文翻译比较好理解。所谓享元,就是共享相同部分的意思。当我们在设计一个游戏的时候,比如我们要在场景中绘制三个相同的人物模型,如果我们直接创建三个一样的人物模型对象并绘制,那么我们就需要每次都读入人物模型相关的网格信息+贴图材质信息,很明显,这些东西只要有一份就可以了,而唯一不同的就是他们的位置不同。那么,我们完全可以只留存一份人物模型对象,每次绘制的时候,设置一下人物的位置信息,然后绘制,也可以达到一样的效果。而这种思想,就是享元模式的思想。
下面我们来看一下享元模式的定义以及UML类图:
享元模式(Flyweight Pattern):运用共享技术有效地支持大量细粒度对象的复用。系统只使用少量的对象,而这些对象都很相似,状态变化很小,可以实现对象的多次复用。由于享元模式要求能够共享的对象必须是细粒度对象,因此它又称为轻量级模式,它是一种对象结构型模式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值