美文网首页
创建型之五-单例模式

创建型之五-单例模式

作者: iOS_肖晨 | 来源:发表于2017-10-10 10:23 被阅读4次

Singleton(单例模式)

保证一个类仅有一个实例,并提供一个访问它的全局访问点。

单利的优缺点:
优点
1、提供了对唯一实例的受控访问。
2、由于在系统内存中只存在一个对象,因此可以节约系统资源,对于一些需要频繁创建和销毁的对象单例模式无疑可以提高系统的性能。
3.因为单例模式的类控制了实例化的过程,所以类可以更加灵活修改实例化过程。
缺点
1、由于单利模式中没有抽象层,因此单例类的扩展有很大的困难。
2、单例类的职责过重,在一定程度上违背了“单一职责原则”。

VC.m

HCDSingleton *singleton = [HCDSingleton sharedInstance];

HCDSingleton.h

@interface HCDSingleton : NSObject
+(instancetype)sharedInstance;
@end

HCDSingleton.m

static HCDSingleton *singleton = nil;
@implementation HCDSingleton
+(instancetype)sharedInstance{
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
        singleton = [[HCDSingleton alloc]init];
    });
    return singleton;
}
+ (instancetype)allocWithZone:(struct _NSZone *)zone {
    if (singleton == nil) {
        static dispatch_once_t onceToken;
        dispatch_once(&onceToken, ^{
            singleton = [super allocWithZone:zone];
        });
    }
    return singleton;
}
@end

设计图

相关文章

  • 设计模式之创建型

    创建型指的是对象模型的创建。 有以下五种方式: 单例、原型、工厂、抽象工厂、建造者。 单例有懒汉模式和饿汉模式,区...

  • 创建型之五-单例模式

    Singleton(单例模式) 保证一个类仅有一个实例,并提供一个访问它的全局访问点。 单利的优缺点:优点1、提供...

  • 开发之设计模式-单例模式

    设计模式 设计模式分为三大类:创建型、结构型、行为型在Java中有24中设计模式 创建型:单例 1、为什么用单例模...

  • 2.架构设计(单例模式设计)

    1.设计模式分为三个类 创建型 结构型 行为型 2.创建型:单例模式 为什么用单例模式?如果你看到这个问题,你怎么...

  • 【设计模式】创建型设计模式汇总

    创建型设计模式汇总 1. 单例模式 1.1 单例模式的定义 一个类只允许创建一个对象或实例。 1.2 单例模式的作...

  • 单例模式

    单例 单例模式,是一种设计模式,属于创建型设计模式,还有一种创建型设计模式,工厂模式。设计模式总共有23种,三大类...

  • 23种设计模式学习总结

    创建型设计模式 主要解决对象的创建问题,封装复杂的创建过程,解耦对象的创建代码合使用代码。 单例模式 单例模式用来...

  • 创建型之单例模式

    什么是单例模式 是指应用程序全局只能创建唯一一个实例的构造模式。一般的做法是:私有化构造方法(只能由自己创建),提...

  • S4. 单例模式

    单例模式(Singleton) 介绍 单例模式是创建型设计模式,即用于创建对象的设计。其能够保证当前系统仅存在一个...

  • Python 之单例模式

    简介:单例模式(Singleton Pattern) 是最简单的设计模式之一,属于创建型的设计模式。单例模式涉及到...

网友评论

      本文标题:创建型之五-单例模式

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