您的位置:首页 > 其它

23设计模式之单例模式(Singleton)

2015-09-20 15:24 239 查看
返回首页

一、概述

Singleton属于创建型模式中的一种,保证一个类仅有一个实例,并提供一个访问它的全局访问点。

二、适用性

1.当类只能有一个实例而且客户可以从一个众所周知的访问点访问它时。
2.当这个唯一实例应该是通过子类化可扩展的,并且客户应该无需更改代码就能使用一个扩展的实例时。

三、参与者

1.Singleton:定义一个Instance操作,允许客户访问它的唯一实例。Instance是一个类操作,可能负责创建它自己的唯一实例。

四、类图



五、代码实现

1.Singleton:定义一个Instance操作,允许客户访问它的唯一实例。Instance是一个类操作,可能负责创建它自己的唯一实例。

Singleton.swift
//
//  Singleton.swift
//  23设计模式
//
//  Created by 阳君 on 14/11/28.
//  Copyright (c) 2014年 六月. All rights reserved.
//

import Foundation

/// Singleton定义一个Instance操作,允许客户访问它的唯一实例。Instance是一个类操作,可能负责创建它自己的唯一实例。
struct Singleton {
    
    static let sing:Singleton = Singleton()

    init() {
        print("创建init")
    }
    
    static func getInstance() ->Singleton {
        return sing;
    }
    
}


六、测试

// 单例模式

// 方法一:通过方法获取

let y = Singleton.getInstance()
// 方法二:通过属性获取

let j = Singleton.sing
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: