软设之享元模式

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

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

内容

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

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

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

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

Ckient:客户应用程序。

相关推荐
优化Henry5 分钟前
学习笔记之爱立信站点指向证书执行
运维·服务器·网络·笔记·学习·信息与通信
AI大法师1 小时前
品牌焕新不只换 Logo:捷豹案例里的触点重构方法
大数据·人工智能·设计模式·新媒体运营
IT古董2 小时前
【WMS学习笔记系列】03-功能模块设计
笔记·学习·系统架构
vivo互联网技术3 小时前
协同文档下的 Agent 协作闭环:可回滚、可对比的透明化编辑实现
人工智能·笔记·agent
Wang's Blog4 小时前
PostgreSQL笔记27: 双缓存架构下的内存管理与性能观测实践
笔记·缓存·postgresql
Wang's Blog4 小时前
PostgreSQL笔记22: WAL日志与崩溃恢复原理
数据库·笔记·postgresql
程序猿炎义5 小时前
【llm-algo-leetcode学习笔记】显存与性能认知底座
笔记·学习·leetcode
摇滚侠5 小时前
《Docker技术入门与实战 第4版》阅读笔记 6 使用 Dockerfile 创建镜像 2
java·笔记·docker
树的枝5 小时前
【STM32】05.TIM定时器
笔记·stm32·单片机·嵌入式硬件
不会代码的小猴6 小时前
6. Qt网络编程
开发语言·c++·笔记·qt·算法