设计模式学习之单例模式

UML结构类图的常用画法

简单工厂

设计模式学习之外观模式

设计模式学习之适配器模式

Demo传送门

单例模式我们开发中用的很多了,最常见的是全局配置文件或者具体的如内购支付工具,或者数据库管理,一些第三方SDK如友盟,Bugly等的配置等,那么究竟什么是单例模式呢?下面我描述一个简单场景,分别用普通处理方式和单例模式进行处理,后面会给出单例模式的定义和具体应用场景

案例:对配置文件的读取,这个配置文件中设置的是项目中用到的一些参数,比如访问的服务器地址,分正式,测试和预发环境

我们建一个配置文件,status:0,1,2代表测试,预发和正式的三种状态,Server代表三种状态下的服务器地址,当然这里只是个例子,具体项目中对多环境的配置这块,我之前写过一篇文章专门讲述过,有兴趣的朋友可以前去查看下App多环境配置的方法

言归正传,下面介绍普通方法处理配置文件

1.普通方法处理

首先是建一个处理配置文件的类,提供一个解析配置文件的方法,并且在这个类中提供server属性以供外界访问

客户端调用如下:

那么这么做的不足之处在哪里呢?从表面看我们也具有一定的封装性,但是既然是配置文件,配置的东西肯定在项目中多处用到,我们这种方式是生成了一个ParseConfig的实例变量去访问,如果多处用到,就要在使用到的地方多次生成实例变量访问,而且对文件的访问也是要消耗资源的,那么有没有可能只初始化一次,对配置文件只解析一次的方法呢?单例模式就可以实现,下面着重讲述一下单例模式

2.单例模式

单例模式的定义

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

单例模式的功能

用来保证一个类在运行期间只会被创建一个类实例,此外还提供了全局唯一访问这个类实例的访问点

理论毕竟枯燥,主要还是看代码实现

客户端调用

入口处初始化

调用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值