zoukankan      html  css  js  c++  java
  • static单利模式

    //

    //  main.m

    //  01-文件管理器

    //

    //  Created by apple on 14-3-21.

    //  Copyright (c) 2014年 apple. All rights reserved.

    //

    #import <Foundation/Foundation.h>

    #import "User.h"

    int main(int argc, const char * argv[])

    {

        @autoreleasepool {

            

            

            //1.文件管理器

            NSFileManager * f1 = [NSFileManager defaultManager];

            NSLog(@"%p",f1);

            

            NSFileManager * f2 = [NSFileManager defaultManager];

            NSLog(@"%p",f2);

            

            NSFileManager * f3 = [[NSFileManager alloc] init];

            NSLog(@"f3 %p",f3);

            

            NSFileManager * f4 = [NSFileManager defaultManager];

            NSLog(@"%p",f4);

         

            //在整个程序没有退出之前,只需要创建一次,我们就可以把它写成单利模式

            //简单的单例模式

            User * u1 = [User defaultUser];

            u1.age = 10;

            

            

            NSLog(@"u1 %p",u1);

            

            

            User * u2 = [User defaultUser];

            

            NSLog(@"u2 %p age = %d",u2,u2.age);

            

            User * u3 = [[User alloc] init];

            

            NSLog(@"u3 %p",u3);

            

            //1.组合模式,(聚合模式)

            //2.单利模式

            //3.策略模式(封装变化点),block

            //4.向上抽象 (protocol(协议))

            //5.享元设计模式(NSString池原理)

        }

        return 0;

    }

    //

    //  User.m

    //  03-文件操作

    //

    //  Created by apple on 14-3-21.

    //  Copyright (c) 2014年 apple. All rights reserved.

    //

    #import "User.h"

    @implementation User

    //静态变量,整个程序运行完成的时候才会被释放掉,mian函数运行完成

    static User * instance = nil;

    + (User *)defaultUser

    {

    //    return [[self alloc] init];

        

        if (instance == nil)

        {

            instance = [[self alloc] init];

        }

        return instance;

        

    }

    @end

  • 相关阅读:
    PHP和Redis实现在高并发下的抢购及秒杀功能示例详解
    thinkphp整合系列之微信公众号支付
    JS之变量的运算
    (php)thinkphp3.2配置sql_server
    jyd数据结构
    mac终端下svn常用命令
    项目学习
    抛错
    phpunit
    Python
  • 原文地址:https://www.cnblogs.com/supper-Ho/p/6187498.html
Copyright © 2011-2022 走看看