23设计模式之单例模式(Singleton)
2015-09-20 15:24
239 查看
返回首页
2.当这个唯一实例应该是通过子类化可扩展的,并且客户应该无需更改代码就能使用一个扩展的实例时。
五、代码实现
1.Singleton:定义一个Instance操作,允许客户访问它的唯一实例。Instance是一个类操作,可能负责创建它自己的唯一实例。
Singleton.swift
一、概述
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
相关文章推荐
- [Mac] Mac book pro互换SSD硬盘、生产启动U菜、TimeMachine恢复 小记
- 用几分钟换几十年长寿
- iOS项目开发实战——监听对话框的按钮点击事件
- C++中CloseHandle()函数的使用
- 深入分析JS原型链以及为什么不能在原型链上使用对象
- 1.2Linux下C语言开发基础(学习过程)
- HDOJ 5455 Fang Fang(字符串)(沈阳网络赛)
- hdu 1258 Sum It Up 搜索
- 浅谈 Underscorejs中 _.throttle 和 _.debounce 的差异和使用场景
- hdu 1258 Sum It Up 搜索
- 一直在路上
- java泛型
- 中国的电信企业不被时代所抛弃。
- JavaScript的函数作用域与作用域链详解
- 不同版本服务器之间的区别与联系
- I/O的上机练习
- OpenCV3.0.0+win10 64位+vs2015环境的下载,安装,配置与属性表的生成
- %( $# > 1 %? if (tid() in trace) %) 是什么意思
- android handler机制和Timer采用
- LeetCode 1.Two Sum