• 设计模式--单例模式


    单例模式 Singleton Pattern
    意图:确保一个类只有一个实例,并对该实例提供全局访问接口
    应用场景:
    1)在多个客户端会话中共享同一个类的某个实例;
    2)在某个类只有一个实例对象,或有限个实例对象

    好处或缺点:
    1)需要保证多线程对单例对象的访问同步
    类结构:
    类实例应该放在类内部完成,保证实例的唯一性和私有性;
    注意:
    创建实例方法是私有的;
    类结构:
    Singleton
    static s:Singleton
    Singleton()
    CreateInstance():Singleton
    static getInstance():Singleton

    调用方法:
    1.类方法的调用--类方法
    2.实例方法


    getInstance()实现:
    if(s == NULL){
    s = CreateInstance();
    }
    return s;

    设计问题:Configuration类是COS系统的配置类,只能有一个实例对象,并共享于所有客户端,如何设计该类?
    类结构:
    Configuration
    -$c:Configuration
    -Configuration()
    -$CreateInstance():Configuration
    +$getInstance():Configuration

    关键代码:

        public class Configuration
        {
            private static Configuration c;
            private Configuration() {}
            private static Configuration CreateInstance(){
            //创建对象
            }
            public static Configuration getInstance()
            {
                if (c == NULL)
                {
                    c = CreateInstance();
                }
                return c;
            }
        }
    怕什么真理无穷,进一寸有一寸的欢喜。---胡适
  • 相关阅读:
    Elasticsearchdump 数据导入/导出
    04.2 go-admin前后端打包为一个服务上线
    go-admin开发小技巧
    假设知道服务器IP,如何查询它绑定的域名?
    webstorm eslint 配置格式化的两种方式
    lodash中的深拷贝方法cloneDeep()
    go 操作elaticsearch
    gin返回json假数据
    gin 图片上传到本地或者oss
    世界地图
  • 原文地址:https://www.cnblogs.com/hujianglang/p/7512860.html
Copyright © 2020-2023  润新知