单例模式Swift

单例模式(singleton)单例模式是什么?百度百科是这样解释的:单例模式,属于创建类型的一种常用的软件设计模式。通过单例模式的方法创建的类在当前进程中只有一个实例(根据需要,也有可能一个线程中属于单例,如:仅线程上下文内使用同一个实例。单例的使用场景使用单例模式表示现实世界中的资源,比如Node JS中的Server对象,图片缓存。用一种统一的方式来处理所有同类型的任务,比如...
摘要由CSDN通过智能技术生成

单例模式(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
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值