在开发中会遇到多个文件都需要创建某实例的情况,比如数据库类、缓存类等等。然而在多个文件中都实例化该类会导致多个实例存在,对于数据库这种对象,如果多次实例化会导致多次的网络开销,因此,在应用中共享数据库的实例可以减少网络开销。单例模式可以做到。
将构造函数定义为私有的,保证单例类不能被实例化。再创建一个静态函数负责返回不用实例化也能返回实例化的对象,保证只有一个实例。
单例模式在开发中会经常遇到的,比如数据库连接。有一个要注意的地方就是线程安全,即多个线程共享同一个实例,可以在不同的线程环境下创建不同的实例来解决。
