享元模式(FlyWeight)
【摘要】 1、定义享元模式(FlyWeight),又称为蝇量模式,常用于有着大量重复使用的细粒度对象时。实质上是一种共享技术。2、优点利用享元池,可以使得用户在调用一个对象时可以不必去new,只需要在享元池中直接获取即可,节约了内存空间。注:太多的对象不仅会影响性能,更严重的情况下可能会造成内存溢出3、缺点1)逻辑会更加的复杂。2)对于一些享元池中不能直接取出的对象,还是需要去new,这时利用了享元模...
1、定义
享元模式(FlyWeight),又称为蝇量模式,常用于有着大量重复使用的细粒度对象时。实质上是一种共享技术。
2、优点
利用享元池,可以使得用户在调用一个对象时可以不必去new,只需要在享元池中直接获取即可,节约了内存空间。
注:太多的对象不仅会影响性能,更严重的情况下可能会造成内存溢出
3、缺点
1)逻辑会更加的复杂。
2)对于一些享元池中不能直接取出的对象,还是需要去new,这时利用了享元模式获取对象的时间会变得更长。
4、角色
1)抽象享元类
接口/抽象类
2)具体享元类
实现接口或者抽象类的具体子类,这些子类会被大量的重复使用,而且这些子类对象都是细粒度。
3)享元工厂类
工厂其实就是一个享元池
4)组合享元类
组合享元类是依赖基本享元类产生的一个整体类,例如享元池中,如果有字符A、B,我们其实可以利用这两个字符对象构成一个AB字符串,这就是一个组合享元类。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)