Java设计模式《二十二》亨元模式
来源:互联网 发布:淘宝 工具箱 关键词 编辑:程序博客网 时间:2024/04/27 17:12
//亨元模式 运用共享技术有效的大量细粒度的对象(共享对象)//亨元 模式可以避免大量非常相似的开销 共享的对象越多节约的越多//为内部状态增加存储空间public class ConcreteFlyweight extends Flywight{ public void operation(int extrinsicstate){ System.out.prinltn("Concrete Flywight :" + extrinsicstate); }}//所有具体亨元类的超类或者接口 通过这个接口 Flywight可以接受并作用域外部状态extrinsicstate:Objectpublic abstract class Flywight{ public abstract void operation(int extrinsicstate);}/** * 亨元工厂,用来创建并管理Flyweight对象。它主要是用来确保合理地共享Flyweight,当用户请求一个Flyweight时, * FlyweightFactory对象提供一个已创建的实例或者创建一个 */public class FlyweightFactory { private Map<String, Flyweight> flyweights = new HashMap<String, Flyweight>();public FlyweightFactory(){ //可预先实例化好// flyweights.put("X", new ConcreteFlyweight());// flyweights.put("Y", new ConcreteFlyweight());// flyweights.put("Z", new ConcreteFlyweight()); } /** * 根据客户端请求,获取已有对象或生成实例。 * @param key : 根据key来判断是否已生成过此对象 */ public Flyweight getFlyweight(String key){ //也可使用时再实例化 if(!flyweights.containsKey(key)) flyweights.put(key, new ConcreteFlyweight()); return flyweights.get(key); }}/** * 不需要共享的Flyweight子类。Flyweight使共享成为可能,但它并不强制共享。 */class UnsharedConcreteFlyweight extends Flyweight { @Override public void operation(int extrinsicstate) { System.out.println("Unshared Concrete Flyweight: " + extrinsicstate); }}/** * 亨元模式,运用共享技术有效地支持大量细粒度的对象。(共享对象) * * 亨元模式可以避免大量非常相似类的开销。共享的对象越多,节约的越多。 */
0 0
- Java设计模式《二十二》亨元模式
- Java设计模式二十二:享元模式(Flyweight)
- 设计模式(二十二)---享元模式
- 二十二 设计模式之享元模式
- 设计模式实现(二十二)--- 享元模式(Flyweight)
- 设计模式C++实现二十二:享元模式
- 设计模式之二十二:享元模式(FlyWeight)
- 设计模式—享元模式(二十二)
- 设计模式(二十二)——享元模式
- Java设计模式(十二)----享元模式
- JAVA--享元模式(Flyweight)--设计模式十二
- 二十二、享元模式
- 设计模式(十二) 享元模式
- 设计模式(十二)享元模式
- 设计模式(十二)享元模式
- 【设计模式】【十二】享元模式
- Java设计模式之二十二(备忘录模式)
- JAVA设计模式(二十二)——命令行模式
- 苹果手机拍照上传后台后图片翻转
- OpenCV学习笔记二:灰色图像转换成彩色图像 非CV_GRAY2RGB
- 装饰者模式
- HashMap的工作原理
- 数塔
- Java设计模式《二十二》亨元模式
- [LeetCode.300]Longest Increasing Subsequence
- 汽车业的万亿级市场缘何由康得新、康得复材开启?
- 【HTML】框架---框架标签(frameset)画中画标签(iFrame)
- C++ Windows API获取驱动器根路径和属性(二)
- Java设计模式《二十三》解释器模式
- Thymeleaf
- C++——NOIP模拟题——种树
- 定时统计目录大小shell脚本