单例模式(singleton)
单例模式是什么?
百度百科是这样解释的:
单例模式,属于创建类型的一种常用的软件设计模式。通过单例模式的方法创建的类在当前进程中只有一个实例(根据需要,也有可能一个线程中属于单例,如:仅线程上下文内使用同一个实例。
单例的使用场景
- 使用单例模式表示现实世界中的资源,比如Metal中的Device对像,表示一个现实世界中的GPU。
- 用一种统一的方式来处理所有同类型的任务,比如输出日志。
日志输出
我们有时候需要保存并输出一些日志,比如打印一些异常信息。但是我们有可能在不同的线程或者组件中输出日志。所以这种情况就很适合使用单列模式。闲话少说,上代码。这里使用的语言是swift,但是设计的思想是相同的。
// final关键字可以保证这个类不可以被继承或者充写
final class Logger{
private var data:[String]:String = [String]()
private init(){
//设置该方法为文件级私有的,别的文件无法访问盖方法
}
func printLog() {
var str = String()
for log in data {
str