文件管理器与设计模式-单例模式

#import <Foundation/Foundation.h>
#import "User.h"
/*
    1.文件管理器
    简单的单例模式
 */
int main(int argc, const char * argv[])
{
    //文件管理器
    //一般不会使用
//    NSFileManager * fileManage =
//    [[NSFileManager alloc]init];
    NSFileManager * fm = [NSFileManager defaultManager];
    NSLog(@"%p",fm);
    //创建一个单例对象
    //单例对象的生命周期是从函数开始到函数结束

    NSFileManager * fm1 = [NSFileManager defaultManager];
    NSLog(@"%p",fm1);

    User * user1 = [User defaultUser];
    NSLog(@"%p",user1);
    user1.age = 10;
    NSLog(@"%p age:%d",user1,user1.age);

    User * user2 = [User defaultUser];
    NSLog(@"%p age:%d",user2,user2.age);
    NSLog(@"%p",user2);

    return 0;
}
#import <Foundation/Foundation.h>

@interface User : NSObject
{
    int _age;
}

-(void)setAge:(int)age;
-(int)age;
+(User *)defaultUser;
@end
#import "User.h"
static User * instance = nil;
@implementation User
-(void)setAge:(int)age
{
    _age = age;
}
-(int)age
{
    return _age;
}
+(User *)defaultUser
{
    //判断对象是否为空
    if (instance == nil) {
        //为空进行初始化
        instance =[[self alloc]init];
    }
    return instance;
}
@end

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-11-13 09:58:23

文件管理器与设计模式-单例模式的相关文章

php设计模式——单例模式(Singleton)

二十三种设计模式分为三大类: 创建型模式,共五种:工厂方法模式.抽象工厂模式.单例模式.建造者模式.原型模式. 结构型模式,共七种:适配器模式.装饰器模式.代理模式.外观模式.桥接模式.组合模式.享元模式. 行为型模式,共十一种:策略模式.模板方法模式.观察者模式.迭代子模式.责任链模式.命令模式.备忘录模式.状态模式.访问者模式.中介者模式.解释器模式. 谷歌的Android设备 华为的Android设备 IOS只属于苹果公司 IOS只属于苹果公司 1 <?php 2 3 /* 4 * php

Java 设计模式 单例模式(Singleton) [ 转载 ]

Java 设计模式 单例模式(Singleton) [ 转载 ] 转载请注明出处:http://cantellow.iteye.com/blog/838473 前言 懒汉:调用时才创建对象 饿汉:类初始化时就创建对象 第一种(懒汉,线程不安全): 1 public class Singleton { 2 private static Singleton instance; 3 private Singleton (){} 4 5 public static Singleton getInstan

Android设计模式——单例模式(Singleton)

二十三种设计模式分为三大类: 创建型模式,共五种:工厂方法模式.抽象工厂模式.单例模式.建造者模式.原型模式. 结构型模式,共七种:适配器模式.装饰器模式.代理模式.外观模式.桥接模式.组合模式.享元模式. 行为型模式,共十一种:策略模式.模板方法模式.观察者模式.迭代子模式.责任链模式.命令模式.备忘录模式.状态模式.访问者模式.中介者模式.解释器模式. 1 package com.example.main; 2 3 import android.app.Activity; 4 import

设计模式——单例模式学习

单例模式属于设计模式中的创建模式,即创建对象时,不再由我们直接实例化对象,而是根据特定场景,由程序来确定创建对象的方式,从而保证更大的性能.更好的架构优势. 1.概念 单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例.选择单例模式就是为了避免不一致状态.使用Singleton的好处还在于可以节省内存,因为它限制了实例的个数,有利于Java垃圾回收(garbage collection). Singleton模式看起来简单,使用方法也很方便,但是真正用好,是非常不容易,需要对

最简单的设计模式——单例模式的演进和推荐写法(Java 版)

前言 如下是之前总结的 C++ 版的:软件开发常用设计模式—单例模式总结(c++版),对比发现 Java 实现的单例模式和 C++ 的在线程安全上还是有些区别的. 概念不多说,没意思,我自己总结就是: 有这样一个类,该类在生命周期内有且只能有一个实例,该类必须自己创建自己的这个唯一实例,该类必须给所有其他对象提供这一实例(提供全局访问点),这样的类就叫单例类. 简单的说就是满足三个条件: 1.生命周期内有且只能有一个实例 2.自己提供这个独一无二的实例 3.该实例必须是能全局访问的 需要的考虑的

设计模式 - 单例模式之多线程调试与破坏单例

前言 在之前的 设计模式 - 单例模式(详解)看看和你理解的是否一样? 一文中,我们提到了通过Idea 开发工具进行多线程调试.单例模式的暴力破坏的问题:由于篇幅原因,现在单独开一篇文章进行演示:线程不安全的单例在多线程情况下为何被创建多个.如何破坏单例. 如果还不知道如何使用IDEA工具进行线程模式的调试,请先阅读我之前发的一篇文章: 你不知道的 IDEA Debug调试小技巧 一.线程不安全的单例在多线程情况下为何被创建多个 首先回顾简单线程不安全的懒汉式单例的代码以及测试程序代码: /**

PHP服务器文件管理器开发小结(一):功能规划

为了更好的学习PHP.AJAX和LAMP等,为搭建PHP服务器打下基础,作者尝试开发一款基于PHP的服务器文件管理器,并且在管理过程中使用AJAX而不刷新页面. 文件管理器包含以下基本操作 当前文件夹 回到首文件夹 回到上一级文件夹 刷新文件夹视图 上传文件 新建文件 新建子文件夹 文件操作 查看内容 编辑内容 下载 重命名 移动 删除 文件夹操作 重命名 删除 基本上实现了以上功能后,一个比较完善的服务器文件管理器就形成了. 注意,本示例仅考虑Apache可操作的权限,不考虑提权的情况. 管理

iOS学习之文件管理器(NSFileManager)和文件对接器(NSFileHandle)

1.文件管理器(NSFileManager) 1> 创建文件夹 创建所需的方法在头文件的声明: /* createDirectoryAtPath:withIntermediateDirectories:attributes:error: creates a directory at the specified path. If you pass 'NO' for createIntermediates, the directory must not exist at the time this

UI14-沙盒机制,文件的读写,文件管理器的增删移动复制,归档和反归档。

1.复杂对象的归档反归档.person类的使用acoder,进行编码.使用decoder进行根据标记,解码. 2.再使用多个person类中,需要转化工具和解转化工具,achiver,unchiever,记得结束要finish. 3.文件管理器 对文件和文件夹的增删改移动. 4.读取沙盒的文件,和三个主要路径 5.简单类的读取写入,string,数组,和字典.