IOS设计模式学习(7)单例

来源:未知 责任编辑:责任编辑 发表时间:2014-05-20 18:26 点击:

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 结语
只要应用程序中需要用集中式的类来协助其服务,这个类就应该生成单一的实例,而不是多个实例。

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

 

    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • Lexical or Preprocessor Issue 'xxx.h
    • ios学习笔记(二)xcode 4.3.2下实现基本交互
    • ios版本的helloworld
    • iphone(object-c) 内存管理(3) 有效的内存管理 前半部分
    • ios学习笔记(一)xcode 4.3.2下创建第一个ios项目
    • IOS类似iphone通讯录TableView的完整demo【附源码】
    • UITableView一些方法
    • [iPhone中级]iPhone团购信息客户端的开发 (二)
    • iphone(object-c)内存管理(1)
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1