}
public class ConcreteProduct1 extends Product {
public void doSomething() { //逻辑处理} }public class ConcreteProduct2 extends Product {
public void doSomething() { //逻辑处理} }public class Factory {
private static final Map<String,Product> prMap = new HashMap();public static synchronized Product createProduct(String type) throws Exception{ Product product =null;//如果Map中已经有这个对象if(prMap.containsKey(type)){ product = prMap.get(type);}else{ if(type.equals("Product1")){ product = new ConcreteProduct1();}else{ product = new ConcreteProduct2();}//同时把对象放到缓存容器中prMap.put(type,product);}return product;} }此模式是目前大多数应对高并发应对模式