单例模式
单例模式通过将被实现的类的构造函数设置为private,在被实现的类中提供公共的Instance函数,以获取实例化的类的静态成员变量。
优点:
(1)活动单例中只有一个实例,可以防止其它对象对自己的实例化,确保所有的对象都访问一个实例;
(2)节约系统资源。因为单例在系统中只存在一个对象,碰到频繁创建和销毁的对象时,无疑可以提高系统的性能。
缺点:
(1)不适合变量。如果同一类型的对象总是在不同的用例场景发生变化,单例就会引起数据的错误,不能保存相应状态;
(2)单例中没有抽象层,不适合扩展;
适用场景:
(1)需要频繁实例化然后销毁的对象;
(2)创建对象时耗时过多或消耗资源过多,但又经常用到;
(3)有状态的工具类对象;
(4)频繁访问数据库或文件的对象;