软设之享元模式

享元模式的意图是:提供大量细粒度对象共享的有效方法。

比如说,设计一个战争游戏,需要设计许多士兵。士兵都是一个模板出来的,如果一个士兵一个士兵新建,就会浪费内存空间,但是用享元模式,只需要建立士兵共同的模块对象,新建一个士兵就共享这些模块对象就可以了。

内容

Flyweight:抽象轻量级类,声明一个接口。通过它可以接受外来的状态并作出处理。

ConcreteFlyweight:具体轻量级类,实现Flyweight接口。

UnsharedConcreteFlyweight:不共享都轻量级类,这类对象常常将ConcreteFlyweight作为子节点。

FlyweightFactory:轻量级类工厂,创建并且管理flyweight对象确保享用flyweight

Ckient:客户应用程序。

相关推荐
自由生长20242 小时前
设计模式和设计原则-中高级架构思路-面向接口编程
设计模式
航Hang*7 小时前
Photoshop 图形与图像处理技术——第8章:图像的色彩与色彩调整和图像的输出与优化
图像处理·笔记·ui·photoshop
小桥流水---人工智能8 小时前
风电机组故障诊断与状态监测方法的研究局限性整理(背景笔记)
笔记
菩提小狗8 小时前
小迪安全笔记_第4天|扩展&整理|30+种加密编码进制全解析:特点、用处与实战识别指南|小迪安全笔记|网络安全|
笔记·安全·web安全
xian_wwq8 小时前
【学习笔记】OSI安全架构体系
网络·笔记·学习
love530love9 小时前
Windows 11 下再次成功本地编译 Flash-Attention 2.8.3 并生成自定义 Wheel(RTX 3090 sm_86 专属版)
人工智能·windows·笔记·编译·flash_attn·flash-attn·flash-attention
中屹指纹浏览器10 小时前
2025 硬核技术:中屹指纹浏览器进程级沙箱隔离,筑牢多开防关联壁垒
经验分享·笔记
再睡一夏就好11 小时前
多线程并发编程核心:互斥与同步的深度解析及生产者消费者模型两种实现
linux·运维·服务器·jvm·c++·笔记
m0_7269659811 小时前
RAG源代码笔记JAVA-高级RAG
笔记·ai·agent·rag
复业思维2024010811 小时前
Altium Designer (24.2.2)中更改库以及保持器件参数不变
笔记·学习·硬件工程