zoukankan      html  css  js  c++  java
  • 设计模式--单例模式

    单例模式 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;
            }
        }
    怕什么真理无穷,进一寸有一寸的欢喜。---胡适
  • 相关阅读:
    [ Python ] 递归函数
    [ Python ] 计算器
    [ Python ] 模块详解
    [ python ] 项目:haproxy配置文件增删改查
    [ Python ] 装饰器详解
    iOS设计
    Swift
    Swift
    iOS
    Swift
  • 原文地址:https://www.cnblogs.com/hujianglang/p/7512860.html
Copyright © 2011-2022 走看看