美文网首页
单例的优缺点与创建

单例的优缺点与创建

作者: _blank | 来源:发表于2016-08-19 11:10 被阅读0次

/*

单例模式的优点:

单例模式在内存中只有一个实例,减少了内存开支。特别是一个对象需要频繁的创建、销毁时,而创建与销毁的性能又无法优化,单例模式的优势就非常明显。

单例模式只生成一个实例,减少了系统性能开销,当一个对象的产生需要比较多的资源时,如读取配置、产生其他依赖对象时,则可以通过在应用启动时直接产生一个单例对象,然后永久驻留内存的方式来解决。

单例模式可以避免对资源的多重占用。

单例模式可以在系统设置全局的访问点,优化和共享资源访问。

单例模式的缺点:

单例模式一般没有接口,扩展很困难,除了修改代码基本上没有第二种途径实现。

单例模式对测试是不利的。在并行开发环境中,如果单例模式没有完成,是不能进行测试的。

单例模式与单一职责原则有冲突。*/

//1.静态变量

static  WZTool  * _instance;

//2.+alloc方法内部会调用allocWithZone方法,重写该方法控制永远只分配一次空间

+  (instancetype)  allocWithZone:  (struct_NSZone*)  zone

{

static  dispatch_once_tonceToken;

dispatch_once(&onceToken, ^{

_instance = [super  allocWithZone:zone];

});

return  _instance;

}

//3.提供类方法,方便外界访问,表明身份,说明这是一个单例,注意点:规范share+类名|default+类名|类名

+(instancetype)shareTool

{

return [[self alloc]init];

}

//4.重写copy和mutableCopy方法确保永远只有一个实例对象

-(id)copyWithZone:(NSZone*)zone

{

return_instance;

}

-(id)mutableCopyWithZone:(NSZone*)zone

{

return_instance;

}

相关文章

  • 单例的优缺点与创建

    /* 单例模式的优点: 单例模式在内存中只有一个实例,减少了内存开支。特别是一个对象需要频繁的创建、销毁时,而创建...

  • iOS swift创建单例(Singleton)

    由于需要封装一个数据的的单例,所以在网上搜索了创建单例的方法。具体的单例是什么?以及单例优缺点,在这里作为菜鸟的我...

  • Android 深入理解单例模式

    一、前言 本文主要记录使用单例模式的几种形式,并分析各自的优缺点。使用单例模式可以避免重复创建对象,以此来节省开销...

  • 记录一次电话面试

    1.自我介绍这个是必须的吧问:单例的优缺点创建单例的方法多线程使用的场景,方法, 你用过那几种?YYkit源码的分...

  • JAVA基础之单例

    JAVA单例的几种形式以及其优缺点。 Android 中的单例模式 - 简书 单例的定义:Singleton模式的...

  • 第8章 使用RecyclerView显示列表

    单例与数据集中存储 单例是特殊的Java类,在创建实例时,一个单例类仅允许创建一个实例。应用能在内存里活多久,单例...

  • Java/Android 5种单例模式

    对几种单例写法的整理,并分析其优缺点。如何创建一个线程安全的单例,什么是双检锁,那这篇文章可能会帮助到你。 懒汉式...

  • iOS 单例模式 - 单例对象销毁【@synchronized】

    单例对象的创建方式 单例.h 文件的实现 单例.m 文件的实现 单例对象的销毁【@synchronized创建方式...

  • iOS 单例模式 - 单例对象销毁【GCD】

    单例对象的创建方式 单例.h 文件的实现 单例的.m 文件的实现 单例对象的销毁【GCD创建的方式】 使用单例对象...

  • 单例模式

    一、定义与特点 单例模式的特点 单例类只有一个实例对象 该单例对象必须由单例类自行创建 单例类对外提供一个访问该单...

网友评论

      本文标题:单例的优缺点与创建

      本文链接:https://www.haomeiwen.com/subject/jdvajttx.html