美文网首页iOS
【设计模式】单例模式

【设计模式】单例模式

作者: 刘大帅 | 来源:发表于2015-12-14 15:48 被阅读149次

学习文章

原理图

单例模式原理图.png

说明

  • 单例模式人人用过,严格的单例模式很少有人实现
  • 严格的单例模式指的是无法通过常规的 alloc init 方法来生成对象,派生出来的子类也不能产生出对象,而只能通过单例的方法获取到对象

源码

严格的单例模式不应该被继承,不应该被复制,不应该被new等等,只应该独此一家.

Singleton.swift

import Foundation

enum SingletonError : ErrorType {

    case CannotBeInherited
}

class Singleton {
    
    /* --不能被子类调用-- */
    static func sharedInstance() throws -> Singleton {
        
        guard self == Singleton.self else {
        
            print("--------Can't be inherited !--------")
            throw SingletonError.CannotBeInherited
        }
        
        struct Static {

            static let sharedInstance = Singleton()
        }
        
        return Static.sharedInstance
    }
    
    private init()  {

    }
}
  

下载源码

下载地址

相关文章

  • 单例模式Java篇

    单例设计模式- 饿汉式 单例设计模式 - 懒汉式 单例设计模式 - 懒汉式 - 多线程并发 单例设计模式 - 懒汉...

  • python中OOP的单例

    目录 单例设计模式 __new__ 方法 Python 中的单例 01. 单例设计模式 设计模式设计模式 是 前人...

  • 单例

    目标 单例设计模式 __new__ 方法 Python 中的单例 01. 单例设计模式 设计模式设计模式 是 前人...

  • 设计模式 - 单例模式

    设计模式 - 单例模式 什么是单例模式 单例模式属于创建型模式,是设计模式中比较简单的模式。在单例模式中,单一的类...

  • 设计模式

    常用的设计模式有,单例设计模式、观察者设计模式、工厂设计模式、装饰设计模式、代理设计模式,模板设计模式等等。 单例...

  • 2018-04-08php实战设计模式

    一、单例模式 单例模式是最经典的设计模式之一,到底什么是单例?单例模式适用场景是什么?单例模式如何设计?php中单...

  • python 单例

    仅用学习参考 目标 单例设计模式 __new__ 方法 Python 中的单例 01. 单例设计模式 设计模式设计...

  • 基础设计模式:单例模式+工厂模式+注册树模式

    基础设计模式:单例模式+工厂模式+注册树模式 单例模式: 通过提供自身共享实例的访问,单例设计模式用于限制特定对象...

  • 单例模式

    JAVA设计模式之单例模式 十种常用的设计模式 概念: java中单例模式是一种常见的设计模式,单例模式的写法...

  • 设计模式之单例模式

    单例设计模式全解析 在学习设计模式时,单例设计模式应该是学习的第一个设计模式,单例设计模式也是“公认”最简单的设计...

网友评论

    本文标题:【设计模式】单例模式

    本文链接:https://www.haomeiwen.com/subject/ajduhttx.html