iOS之深入解析单例的实现和销毁的底层原理

举报
Serendipity·y 发表于 2022/02/17 00:16:28 2022/02/17
【摘要】 一、单例的概念 单例设计模式确保对于一个给定的类只有一个实例存在,这个实例有一个全局唯一的访问点。它通常采用懒加载的方式在第一次用到实例的时候再去创建它。 单例可以保证在程序运行过程,一个类只有一...

一、单例的概念

  • 单例设计模式确保对于一个给定的类只有一个实例存在,这个实例有一个全局唯一的访问点。它通常采用懒加载的方式在第一次用到实例的时候再去创建它。
  • 单例可以保证在程序运行过程,一个类只有一个实例,而且该实例易于供外界访问,从而方便地控制了实例个数,并节约系统资源。
  • 单例在整个应用程序中,共享一个资源(这份资源只需要创建初始化一次),应该让这个类创建出来的对象永远只有一个。
  • 单例的设计思路:
    • 永远只分配一块内存来创建对象;
    • 提供一个类方法,返回内部唯一的一个变量;
    • 最好保证init方法也只初始化一次。
  • 单例的主要优点:
    • 单例可以保证系统中该类有且仅有一个实例,确保所有对象都访问这个唯一实例;
    • 由于类控制了实例化过程,所以类可以灵活更改实例化过程;
    • 基于单例的唯一实例性,对于项目中的个别场景的传值、存储状态等业务更加方便;
    • 可以节约系统资源,对于一些需要频繁创建和销毁的对象单例模式无疑可以提高系统的性能。
  • 单例的主要缺点:
    • 由于单利模式中没有抽象层,因此单例类的扩展有很大的困难。单例不能被继承,不能有子类;
    • 不易被重写或扩展(可以使用分

文章来源: blog.csdn.net,作者:Serendipity·y,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/Forever_wj/article/details/119958568

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。