zoukankan      html  css  js  c++  java
  • object-单例设计模式

    1.什么是单例?

          单例是一种数据共享的方法,其实就是等同于c语言中的全局变量。在整个程序生命周期内,该对象只有一份存在内存中,可以在多个对象之间共享数据
    • 单例其实就相当于一个类只能有一个实例。
    • 单例是最有用的设计模式之一。它是在代码间共享数据而不需要手动传递参数的一种方法。

    2.使用单例的目的

    a.封装一个共享的数据; b.提供一个固定的对象创建方法; c.提供一个实例访问接口

    而且在某些时候,程序多次创建某个类的对象没有任何意义,还还可能造成系统性能下降(因为频繁地创建对象,回收对象带来的系统开销问题)

    3.GCD的写法:

    单例类可通过static全局变量来实现,该变量single用来保存已创建的Single对象,每次访问该实例时,都要先判断该static全局变量是否为nil,如果全局变量为nil,则初始化一个实例,如果该全局变量不为nil,则程序直接返回该全局变量指向的实例。

     1 static Single *single = nil
     2 
     3 + (id)defaultManager
     4 
     5 {     
     6     static dispatch_once_t onceToken;
     7 
     8     dispatch_once(&onceToken, ^{
     9 
    10         single = [[Single alloc]init];
    11 
    12     });
    13 
    14     return single;
    15 
    16 }

    在方法下首先只需敲出dis即可出现:

    1  static dispatch_once_t onceToken;
    2 
    3     dispatch_once(&onceToken, ^{
    4 
    5     });
     [Single defaultManager];//调用
  • 相关阅读:
    day01的那些事
    Activity活动
    开始认真学习Android了
    《知其所以然》读书笔记
    网络编程——完成端口
    开发服务器端——工程配置
    完善自己的学习方法
    WSAAsyncSelect模型
    双缓冲绘图
    ListControl常用操作汇总
  • 原文地址:https://www.cnblogs.com/chenhongios/p/4633014.html
Copyright © 2011-2022 走看看