Factory.java
上传用户:hensond
上传日期:2021-12-27
资源大小:817k
文件大小:1k
源码类别:

软件工程

开发平台:

Java

  1. package com.company.section6;
  2. import java.util.HashMap;
  3. import java.util.Map;
  4. /**
  5.  * @author cbf4Life cbf4life@126.com
  6.  * I'm glad to share my knowledge with you all.
  7.  */
  8. public class Factory {
  9. private static final Map<String,Product> prMap = new HashMap();
  10. public static synchronized  Product createProduct(String type) throws Exception{
  11. Product product =null;
  12. //如果Map中已经有这个对象
  13. if(prMap.containsKey(type)){
  14. product = prMap.get(type);
  15. }else{
  16. if(type.equals("Product1")){
  17. product = new ConcreteProduct1();
  18. }else{
  19. product = new ConcreteProduct2();
  20. }
  21. //同时把对象放到缓存容器中
  22. prMap.put(type,product);
  23. }
  24. return product;
  25. }
  26. }