码迷,mamicode.com
首页 > 其他好文 > 详细

设计模式--单例模式

时间:2017-09-13 01:38:42      阅读:103      评论:0      收藏:0      [点我收藏+]

标签:cos   ==   好处   创建对象   conf   同步   注意   static   设计   

单例模式 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;
        }
    }

 

设计模式--单例模式

标签:cos   ==   好处   创建对象   conf   同步   注意   static   设计   

原文地址:http://www.cnblogs.com/hujianglang/p/7512860.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!