云社区 博客 博客详情

享元模式(FlyWeight)

dfsafdfsaf 发表于 2021-03-03 15:55:56 2021-03-03
0
0

【摘要】 1、定义享元模式(FlyWeight),又称为蝇量模式,常用于有着大量重复使用的细粒度对象时。实质上是一种共享技术。2、优点利用享元池,可以使得用户在调用一个对象时可以不必去new,只需要在享元池中直接获取即可,节约了内存空间。注:太多的对象不仅会影响性能,更严重的情况下可能会造成内存溢出3、缺点1)逻辑会更加的复杂。2)对于一些享元池中不能直接取出的对象,还是需要去new,这时利用了享元模...

1、定义
享元模式(FlyWeight),又称为蝇量模式,常用于有着大量重复使用的细粒度对象时。实质上是一种共享技术。

2、优点
利用享元池,可以使得用户在调用一个对象时可以不必去new,只需要在享元池中直接获取即可,节约了内存空间。
注:太多的对象不仅会影响性能,更严重的情况下可能会造成内存溢出

3、缺点
1)逻辑会更加的复杂。
2)对于一些享元池中不能直接取出的对象,还是需要去new,这时利用了享元模式获取对象的时间会变得更长。

4、角色
1)抽象享元类
接口/抽象类

2)具体享元类
实现接口或者抽象类的具体子类,这些子类会被大量的重复使用,而且这些子类对象都是细粒度。

3)享元工厂类
工厂其实就是一个享元池

4)组合享元类
组合享元类是依赖基本享元类产生的一个整体类,例如享元池中,如果有字符A、B,我们其实可以利用这两个字符对象构成一个AB字符串,这就是一个组合享元类。

登录后可下载附件,请登录或者注册

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区),文章链接,文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:huaweicloud.bbs@huawei.com进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
评论文章 //点赞 收藏 0
点赞
分享文章到微博
分享文章到朋友圈

上一篇:分布式文件服务器FastDFS

下一篇:面向对象

评论 (0)


登录后可评论,请 登录注册

评论