单例模式,就是一个类始终只有一个实例,不管如果copy还是retain还是alloc等等,都只有一个实例 好处:单例的好处就是不会有多余的实例,所以节约内存;因为只有一个单例,所以易于管理多线程对它的访问;单例模式可以控制单例数量;可以进行有意义的派生;对实例的创建有更自由的控制等。 使用场景:比如说我们在系统运行时候,就需要加载一些配置和属性,这些配置和属性是一定存在了,又是公共的,同时需要在整个生命周期中都存在,所以只需要一份就行,这个时候如果需要我再需要的时候new一个,再给他分配值,显然是浪费内存并且再赋值没什么意义,所以这个时候我们就需要单例模式或静态方法去维持一份且仅这一份拷贝,但此时这些配置和属性又是通过面向对象的编码方式得到的,我们就应该使用单例模式,或者不是面向对象的,但他本身的属性应该是面对对象的,我们使用静态方法虽然能同样解决问题,但是最好的解决方案也应该是使用单例模式。 |