设计模式学习之单例模式

UML结构类图的经常使用画法git

简单工厂github

设计模式学习以外观模式数据库

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

Demo传送门服务器

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

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

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

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

1.普通方法处理

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

客户端调用以下:

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

2.单例模式

单例模式的定义

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

单例模式的功能

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

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

客户端调用

入口处初始化

调用

相关文章
相关标签/搜索