软设之享元模式

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

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

内容

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

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

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

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

Ckient:客户应用程序。

相关推荐
一隅论数智14 小时前
OWL(Web Ontology Language)介绍与使用举例(二)
大数据·经验分享·笔记·学习·自然语言处理·学习方法·政务
sarasuki17 小时前
Agent 的记忆有几种?你的名字是?
人工智能·设计模式·agent
sunoo-22917 小时前
【嵌入式Linux驱动学习】Day1-Day2 全流程梳理:环境搭建→U-Boot→内核→根文件系统→驱动基础
linux·运维·驱动开发·笔记·学习·阿里云·恩智浦
by2099918 小时前
list:迭代器与资源管理实现的综合叙述(下)
数据结构·c++·笔记·list
wdfk_prog18 小时前
LWIP教程 03:从 `low_level_input()` 到 `pbuf_free()`——`pbuf` 的数据视图、Chain 与引用计数
运维·网络·笔记·学习
yi01119 小时前
Leetcode 49 用 “身份证‘‘巧解
人工智能·笔记·python·算法·leetcode·哈希表
ouynagda19 小时前
嵌入式Linux i.MX6ULL系统移植学习笔记
linux·笔记·学习
yi01119 小时前
DAY22: LeetCode 733:图像渲染——从二维网格开始理解 DFS 和 BFS
数据结构·笔记·python·算法·leetcode·深度优先·宽度优先
sbjdhjd20 小时前
智能体开始“动手”之后:OpenAI越权事件、Anthropic算力资本化与开放权重模型竞逐 | AI与SI行业日报整理(9月29日—10月6日)
大数据·人工智能·经验分享·笔记·ai·chatgpt·开源
上位机妹子20 小时前
从零理解 EF Core:用 Minimal API 给「工作项看板」建模(小白笔记)
笔记