Tip:本片博客主要讲解android开发中设计到的设计模式。
- 单例模式
单例模式是设计模式中使用最简单的模式,也是最常用的模式,该模式主要用途是用于使全局只能创建一个实例,并对外提供可调用的方法和常量。比如一些util、helper类。
/**
* @创建者 lucas
* @创建时间 2018/3/9 0009 15:07
* @描述 单例模式--饿汉式,优先加载,但是对内存不太友好
*/
public class SingleMode {
//单一的实例对象--由于被static引用所以在类被加载的时候就已创建了实例
private static SingleMode instance = new SingleMode();
//对构造进行私有化
private SingleMode(){}
//暴露一个获取单例对象的方法
public static SingleMode getInstance(){
return instance;
}
public void testPrint(){
Log.d("SingleMode", "方法被调用");
}
}
/**
* @创建者 lucas
* @创建时间 2018/3/9 0009 15:14
* @描述 单例模式--懒汉式,书写步骤多点,但是对内存友好
*/
public class Single2Mode {
//延时加载
private static Single2Mode instance = null;
//私有化构造
private Single2Mode() {
}
//提供获取实例的方法
public static Single2Mode getInstance() {
//双重判断并加同步锁,防止多线程安全问题
if (instance == null)
synchronized (Single2Mode.class) {
if (instance == null)
instance = new Single2Mode();
}
return instance;
}
public void testPrint(){
Log.d("Single2Mode", "test");
}
}
调用方式
public class ExampleUnitTest {
@Test
public void testMode()throws Exception{
SingleMode.getInstance().testPrint();
Single2Mode.getInstance().testPrint();
}
}