享元设计模式例子
来源:互联网 发布:淘宝网结算页面进不去 编辑:程序博客网 时间:2024/06/10 18:57
一、概述
主要为了在创建对象时,对共有对象以缓存的方式进行保存,对外部对象进行单独创建.
二、涉及角色
抽象享元:一个接口或抽象类;
具体享元:内部状态为其成员属性,其实例为享元对象,可以共享;
享元工厂:生产享元对象,将具体享元对象存储在一个享元池中,享元池一般设计为一个存储“键值对”的集合;
客户端:使用享元对象
三、UML类图
例子:
public interface FlyWeight { public void opertion();}public class ConcreteFlyWeight implements FlyWeight { public String name; public ConcreteFlyWeight(String name){ this.name=name; } @Override public void opertion() { System.out.println("执行享元类"); }}//享元工厂,为客户端提供享元类public class FlyWeightFactory { //使用内部map,保证享元对象只被创建一次 private Map<String,FlyWeight> map=new HashMap<String,FlyWeight>(); public FlyWeight getFlyWeight(String name){ FlyWeight flyWeight=map.get(name); if(map.get(name)==null||map.get(name).equals("")){ flyWeight=new ConcreteFlyWeight(name); map.put(name, flyWeight); } return flyWeight; }}
0 0
- 享元设计模式例子
- 设计模式-享元
- 享元设计模式
- [设计]享元模式
- 设计模式-享元设计
- 设计模式---享元模式
- 设计模式 享元模式
- 设计模式 - 享元模式
- 设计模式:享元模式
- 设计模式 - 享元模式
- 设计模式-享元模式
- 设计模式---------享元模式
- 设计模式:享元模式
- 设计模式--享元模式
- 设计模式-享元模式
- 设计模式:享元模式
- 设计模式-享元模式
- 设计模式--享元模式
- 二叉树遍历(java代码)
- Excel导入中文到MYSQL遇到无法导入以及导入后乱码问题
- Java设计模式之三——工厂模式
- oracle的imp导入时覆盖目标数据库
- SQL优化:设置执行计划的显示格式
- 享元设计模式例子
- [C]c语言中,scanf里面要是数组要不要加&?
- Deep Learning(深度学习)学习笔记整理系列之(七)
- LTE上行物理层传输机制(4)-UCI在PUCCH和PUSCH中的传输
- 【动画演示】Sublime Text 3 mac 高频使用技巧 mark!!
- iOS开发最新之CocoaPods环境配置教程
- android wifi---------------广播
- 用for循环自动生成新闻
- Anroid中使用SVG图像以及向下兼容问题的解决