最近写了一下数据库连接池,所以上网搜了一下资料,因为需要限制多个对象同时操作数据库,造成数据库数据不同步,所以限制同一时刻,只能有一个对象对数据库进行读写。因而采用单例模式(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、正如网上说的,单例模式是对类的一种限制,而不是扩展。但是这种限制正是我们需要的。