1.9 23种设计模式之单例模式详情 > 我的程序猿之路:第九章

1. 概述:确保在一个类中只有一个实例,而且自行实例化并且能对整个系统提供实例对象 -------单例;

2. 类图:

3. 描述:私有的静态实例化对象;

           私有的构造函数;

          公有的静态方法;

          单例模式根据 "实例化对象" 的不同,分为 "饿汉式" 和 "懒汉式";

          饿汉式:单例类被加载的时候,就实例化一个对象交给自己引用。

          懒汉式:只有加载这个单例类,然后调用这个类中方法的时候,才会实例化对象。

4. 代码<不插入了>:

  1:饿汉式
       public class Singleton{
            private static Singleton s = new Singleton();
            private Singleton(){ }
            public static Singleton getSingleton(){
               return Singleton;
        }
 }

   2:懒汉式
     public class Singleton{
          private static Singleton s;
          private Singleton(){ }
          public static Singleton getSingleton(){
            if( s == null ){
                s = new Singleton();
              }
            return Singleton;
       }

5. 优点:1.一个类中只有一个被实例化的对象,节省内存空间;
               2.避免了创建销毁对象,提高了性能
               3.避免了共享资源的多重占用
               4.可以全局使用

6. 使用场景:1.需要频繁的实例化对象然后销毁对象。
                      2.创建对象时耗时过多或耗费资源过多,但有经常被用到的对象。
                      3.有状态的工具类对象。
                      4.频繁访问数据库或文件的对象          

 

posted @ 2017-06-20 17:46  奕语∮梵天  阅读(101)  评论(0编辑  收藏  举报