public Flyweight GetFlyweight(string key) { if (!flyweights.ContainsKey(key)) { flyweights[key] = new ConcreteFlyweight(); } return((Flyweight)flyweights[key]); }
private Hashtable flyweight = new Hashtable();//存储享元对象 实现享元池 public Flyweight GetFlyweight(string key) { if (flyweight.ContainsKey(key)) { return((Flyweight)flyweight[key]); } else { Flyweight temp = new ConcreteFlyweight("state"); flyweight.Add(key, temp); return(temp); } }
public Flyweight GetFlyweight(string key) { Flyweight flyweight; if (dicFlyweight.ContainsKey(key)) { flyweight = dicFlyweight[key]; } else { flyweight = new ConcreteFlyweight(); dicFlyweight.Add(key, flyweight); } return(flyweight); }
public Flyweight GetFlyweight(string key) { if (_flyweights.Contains(key)) { return(_flyweights[key] as Flyweight); } else { ConcreteFlyweight newFlyweight = new ConcreteFlyweight(); // Set properties of new flyweight here. _flyweights.Add(key, newFlyweight); return(newFlyweight); } }