说到单例模式大家肯定不陌生,因为它是设计模式里面最简单的一种模式了;但是对于单例模式的优缺点,却是争议很大,有些人赞同,有些人就很反对使用它;我们先来看看单例模式的使用场景吧!当我们想要在一个程序的声明周期里面一个对象只存在一个实例的时候,我们利用单例模式无疑可以很好的解决这个需求。但是笔者就曾经因为滥用单例模式被老大骂,老大给出来的理由就是:一个单例对象就相当于是一个全局变量,当我看到一个单例模式不经思考就使用出来的时候,我就认为你没有好好的思考这个程序的设计过程。现在仔细理解这段话,常常觉得还是很有道理的。
单例模式的优点:在一个程序里面,有且仅有一个实例对象。这就是说我们可以在一定程度上面节约系统性能开销,避免对系统资源的多重占用,可以很好的优化、共享系统资源访问;单例模式的缺点:扩展困难,设计缺陷;
最后让我们来看看单例模式的分类:恶汉模式和饱汉模式,顾名思义在恶汉模式状态下,我们先new一个对象实例,这种状态下我们就不需要考虑线程安全的问题;在饱汉模式的状态下,我们只在实例对象为null的时候,才进行实例化,同时还需要考虑线程安全,不然有可能会出现多个对象的情况;
好了,今天的博客就到这里吧!略显简单,后面有时间我会将其他模式整理分享出来,同时欢迎大家拍砖。