初学单例模式

最近写了一下数据库连接池,所以上网搜了一下资料,因为需要限制多个对象同时操作数据库,造成数据库数据不同步,所以限制同一时刻,只能有一个对象对数据库进行读写。因而采用单例模式(singleton):

1、什么是单例模式:

a、只有一个实例;

b、能够自行创建实例;

c、提供外部接口,能访问使用这个实例。

2、一个简单的java例子:

public class SingletonClass {

          private static SingletonClass instance = null;

          

          private SingletonClass () {

                    //构造方法

          }

 

          //保持同步访问方法

          public static synchronized SingletonClass getInstance() {

                    if(instance == null) {

                              instance = new SingletonClass ();

                    }

                    return instance ;

         }

}

3、总结

a、单例模式在getInstance()方法时只创建了一个对象,从而减少了内存的使用;

b、返回的实例和构造方法都是私有的,有助于良好的封装;

c、正如网上说的,单例模式是对类的一种限制,而不是扩展。但是这种限制正是我们需要的。

猜你喜欢

转载自leonard1853.iteye.com/blog/1033323