package com.cheng.zenofdesignpatterns.patterns.flyweight.signup; import java.util.HashMap; /** * 报名信息简单工厂(静态工厂) */ public class SignInfoFactory { // 池容器 private static HashMap<String,SignInfo> pool = new HashMap<String,SignInfo>(); // 报名信息的对象工厂 @Deprecated public static SignInfo getSignInfo(){ return new SignInfo(); } // 从池中获得对象 public static SignInfo getSignInfo(String key){ // 设置返回对象 SignInfo result = null; // 池中没有该对象,则建立,并放入池中 if(!pool.containsKey(key)){ System.out.println(key + "----建立对象,并放置到池中"); result = new SignInfo4Pool(key); pool.put(key, result); }else{ result = pool.get(key); System.out.println(key +"---直接从直池中取得"); } return result; } }