c++之享元模式
发布日期:2021-09-25 21:40:57
浏览次数:1
分类:技术文章
本文共 2003 字,大约阅读时间需要 6 分钟。
享元模式属于结构型模式。
定义:运用共享技术有效地支持大量细粒度的对象。
优点:减少单个实例的数目,来避免相似类的开销。
主要用于减少创建对象的数量,以减少内存的占用消耗和提高软件性能。
享元模式尝试重用现有的对象,如果没有找到,才会创建新的对象。
因为我们知道,对象是占据一定内存的,即使是一个空类,在c++中也占据1个字节的大小。 重复利用可以减少浪费,还能维护上一次的状态。享元模式主要使用场景:
1、在设计之初,考虑到当系统中可能有很多对象的时候 2、这些对象还很占内存、操作重复怎么使用:
一般会建立对应的关系表,维护已经创建的对象,通过创建对象时给他们的唯一标识, 从而通过标识从关系表中再次取出。UML类图:
栗子场景:人在江湖飘,哪有不挨刀,加入一个门派接受保护成为了武林人士的首选。
其中Sects对应Flyweight,concreteSects对应concreateFlyweight,SectsFactory对应FlyweightFactory。
#include#include
效果:
令狐冲和任你行都加入了华山派,鸠摩智和宋青书分别加入嵩山和峨眉。其中华山派已经已经存在,所以不会再new对象。
转载地址:https://blog.csdn.net/c_shell_python/article/details/107510454 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
能坚持,总会有不一样的收获!
[***.219.124.196]2024年03月10日 15时22分48秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
mysql新增一列_MySQL-ProxySQL中间件
2019-04-21
mysql 30入门_30分钟带你快速入门MySQL教程
2019-04-21
mysql 翻页 存储过程_MySQl通用翻页(存储过程)
2019-04-21
mysql多字段存储过程_mysql 的存储过程_多字段
2019-04-21
python怎么创建字符串列表_如何在python列表中为每个字符串创建子列表?
2019-04-21
vba ado 执行多条mysql 语句_access 按钮 多条sql语句 VBA
2019-04-21
弹性方法计算连续梁板内力_(梁板结构)混凝土结构设计复习题及答案
2019-04-21
java最小化窗体_JAVA窗体最大化最小化控制+托盘
2019-04-21
java 注解 数组默认值_Java注解默认值
2019-04-21
java流程语句_Java流程控制语句
2019-04-21
java require_java正则中的requireEnd和hitEnd
2019-04-21
400错误java_java代码转化成c#代码 报400错误
2019-04-21
java常见对象_Java 常见对象 02
2019-04-21
spring java配置_Spring Java配置要点
2019-04-21