flyweightfactory.java

来自「23种GOF模式的java代码实现」· Java 代码 · 共 21 行

JAVA
21
字号
package org.gof.structure.Flyweight;

import java.util.Hashtable;

public class FlyweightFactory {
  //Flyweight pool
  private Hashtable flyweights = new Hashtable();

  public Flyweight getFlyweight(Object key) {

    Flyweight flyweight = (Flyweight) flyweights.get(key);
    //去掉重复的
    if (flyweight == null) {
      //产生新的ConcreteFlyweight
      flyweight = new ConcreteFlyweight();
      flyweights.put(key, flyweight);
    }
    return flyweight;
  }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?