设计模式(享元模式)
享元模式可以理解是一个对象的缓存,通过构建一个享元工厂对所有的对象进行管理。
代码如下:
- Flyweight 享元的接口
public interface Flyweight {public void doAction(); }
- FlyweightImpl 具体被共享的类实现
public class FlyweightImpl implements Flyweight{@Overridepublic void doAction() {System.out.println("doAction");} }
- FlyweightFactory 享元工厂
public class FlyweightFactory {private static Map<String, Flyweight> flyweights = new HashMap<String, Flyweight>();public static Flyweight getFlyweight(String key) {if (flyweights.get(key) == null) {flyweights.put(key, new FlyweightImpl());}return (Flyweight) flyweights.get(key);}public static int getSize() {return flyweights.size();} }
- APP 测试类
public class App {public static void main(String[] args) {FlyweightFactory factory = new FlyweightFactory();factory.getFlyweight("a").doAction();factory.getFlyweight("b").doAction();factory.getFlyweight("a").doAction();System.out.println(factory.getSize());} }
- 输出结果
doAction doAction doAction 2
转载于:https://www.cnblogs.com/Fredric-2013/p/4572937.html
设计模式(享元模式)相关推荐
- Python设计模式-享元模式
Python设计模式-享元模式 基于Python3.5.2,代码如下 #coding:utf-8class Coffee:name = ""price = 0def __init_ ...
- 10-Python与设计模式--享元模式
10-Python与设计模式--享元模式 一.网上咖啡选购平台 假设有一个网上咖啡选购平台,客户可以在该平台上下订单订购咖啡,平台会根据用户位置进行线下配送.假设其咖啡对象构造如下: class Co ...
- 设计模式--享元模式实现C++
/********************************* *设计模式--享元模式实现 *C++语言 *Author:WangYong *Blog:http://www.cnblogs.co ...
- 【设计模式】Java设计模式 - 享元模式
[设计模式]Java设计模式 - 享元模式
- Unity设计模式——享元模式(附代码)
Unity设计模式--享元模式(附源码) 享元Flyweight模式是什么 享元模式是一种结构型设计模式, 它摒弃了在每个对象中保存所有数据的方式, 通过共享多个对象所共有的相同状态, 让你能在有限的 ...
- 第二十二章 Caché 设计模式 享元模式
文章目录 第二十二章 Caché 设计模式 享元模式 定义 优点 使用场景 结构图 描述 完整示例 实体类 抽象享元角色 实现享元角色 享元工厂 调用 思考 第二十二章 Caché 设计模式 享元模式 ...
- JavaScript设计模式-享元模式
JavaScript设计模式-享元模式 概念 例子 内部状态与外部状态 享元模式的通用结构 例子 总结 github仓库地址:点击 [设计模式例子](https://github.com/fanhua ...
- JAVA 设计模式 享元模式
用途 享元模式 (Flyweight) 运用共享技术有效地支持大量细粒度的对象. 享元模式是一种结构型模式. 结构 图-享元模式结构图 Flyweight : 它是所有具体享元类的超类或接口,通过这个 ...
- java设计模式---享元模式
Java深入到一定程度,就不可避免的碰到设计模式这一概念,了解设计模式,将使自己 对java中的接口或抽象类应用有更深的理解.设计模式在java的中型系统中应用广 泛,遵循一定的编程模式,才能使自己的 ...
- PHP设计模式——享元模式
声明:本系列博客参考资料<大话设计模式>,作者程杰. 享元模式使用共享物件,用来尽可能减少内存使用量以及分享资讯给尽可能多的相似物件:它适合用于只是因重复而导致使用无法令人接受的大量内存的 ...
最新文章
- MyEclipse 9.x Professional/blue/spring/bling 下载与破解
- 【图神经网络】万物皆可Graph | 当推荐系统遇上图神经网络
- 学计算机申请书100字,加入学生会申请书100字范文
- 织梦cms提交熊掌号php,织梦cms熊掌号历史数据提交教程
- JAVA常用的环境变量配置
- 怎么样解决小交换机引起的路由环路故障?
- oracle修改字段长度sql_Oracle RAC修改参数文件位置
- 手动在viewpager的最后一页滑到第一页。
- 利用Chrome与迅雷下载斗鱼录播视频
- MTK6577+Android之按键(key)修改
- ubntu 五笔输入法 打不出词组
- Destroying assets is not permitted to avoid data loss.
- transition transform属性造成文字抖动及模糊的解决方法
- 如何查看计算机的网络网址,怎么查看电脑IP地址_如何查看电脑IP地址?-192路由网...
- AMD锐龙7 7745HX和i9-12900HX选哪个 r77745HX和i912900HX对比
- Android 9 按音量键音量调节流程
- 实习期运维工程师一些日常问题的汇总
- 论文阅读:2021.11.23~2021.12.1
- java war启动慢_解决springboot war包在tomcat部署时启动慢的问题
- GJM :C++ 资源收集小结