zoukankan      html  css  js  c++  java
  • IOS设计模式学习(7)单例

    1 前言

    数学与逻辑学中,singleton定义为“有且仅有一个元素的集合”。因此不管袋子有多大,每次从里面取出弹子的时候,拿到的都是同一个。

    2 详述

    2.1 简述

    面向对象应用程序中的单例类(singleton class)总是返回自己的同一个实例。它提供了对象所提供的资源的全局访问点。与这类设计相关的设计模式称为单例模式。

    用一种只允许生成对象类的唯一实例的机制,“阻止”所有想要生成对象的访问。

    这个方法应该是静态方法,因为让类的实例去生成另一个唯一实例毫无意义。

    2.2 何时使用单例模式

    (1)类只能有一个实例,并且必须从一个为人熟知的访问点对其进行访问,比如工厂方法;

    (2)这个唯一的实例只能通过子类化进行扩展,而且扩展的对象不会破坏客户端代码。

    2.3 单例的原则

    (1)发起调用的对象(calling object)不能以其他分配方式实例化单例对象。否则,就有可能创建单例类的多个实例。

    (2)对单例对象实例化的限制应用与引用计数内存模型共存。

    2.4 Cocoa Touch中常见的单例模式

    UIApplication,UIAccelerometer和NSFileManager类。

    3 结语

    只要应用程序中需要用集中式的类来协助其服务,这个类就应该生成单一的实例,而不是多个实例。

    以上是所有内容,希望对大家有所帮助。

  • 相关阅读:
    题解 CF1156A 【Inscribed Figures】
    P1352 没有上司的舞会 题解
    厦门大学附属实验中学第五次OI模拟赛(XDFZOI5)比赛须知
    属于自己的期中考总结
    做题笔记 【模板】字符串哈希
    2018 总结
    做题笔记 图的遍历 P3916
    做题笔记 Splitting into digits CF1104A
    LIS (nlogn)
    标准正交基
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3162894.html
Copyright © 2011-2022 走看看