zoukankan      html  css  js  c++  java
  • 原型模式 private static Map<String,Prototype> map = new HashMap<String,Prototype>();

    public class PrototypeManager {
        /**
         * 用来记录原型的编号和原型实例的对应关系
         */
        private static Map<String,Prototype> map = new HashMap<String,Prototype>();
        /**
         * 私有化构造方法,避免外部创建实例
         */
        private PrototypeManager(){}
        /**
         * 向原型管理器里面添加或是修改某个原型注册
         * @param prototypeId 原型编号
         * @param prototype    原型实例
         */
        public synchronized static void setPrototype(String prototypeId , Prototype prototype){
            map.put(prototypeId, prototype);
        }
        /**
         * 从原型管理器里面删除某个原型注册
         * @param prototypeId 原型编号
         */
        public synchronized static void removePrototype(String prototypeId){
            map.remove(prototypeId);
        }
        /**
         * 获取某个原型编号对应的原型实例
         * @param prototypeId    原型编号
         * @return    原型编号对应的原型实例
         * @throws Exception    如果原型编号对应的实例不存在,则抛出异常
         */
        public synchronized static Prototype getPrototype(String prototypeId) throws Exception{
            Prototype prototype = map.get(prototypeId);
            if(prototype == null){
                throw new Exception("您希望获取的原型还没有注册或已被销毁");
            }
            return prototype;
        }
    }
  • 相关阅读:
    centos7安装es6.4.0
    将mysql数据同步到ES6.4(全量+增量)
    c#基于supersocket的简单websocket服务端收发消息实现
    c#log4net简单好用的配置
    MongoDB安装配置教程
    IntelliJ IDEA 中创建maven项目
    VMware Workstation 的安装和使用
    Redis使用场景
    Redis 下载安装
    MySQL--启动和关闭MySQL服务
  • 原文地址:https://www.cnblogs.com/Wen-yu-jing/p/3700734.html
Copyright © 2011-2022 走看看