认识设计模式
14.1.什么是设计模式?
设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。
设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结
14.2.设计模式的作用是什么?
使用设计模式是为了重用代码、让代码更容易被他人理解、保证代码可靠性。
14.3.什么是单例模式/单态模式?
单例模式—保证一个类仅有一个实例。
当类被频繁地创建与销毁的时候,我们使用单例模式,这样可以减少了内存的开销,避免对资源的多重占用。
14.4.单例模式的两种表示方式以及区别
1.懒汉式
package com.lx.test1;
/**
* 懒汉式
* @author Administrator
*
*/
public class SingleObject1 {
/*
1.构造方法私有
2.提供一个静态成员变量[私有],用于保存当前类对象
3.提供一个静态方法【公共】返回创建好的当前类对象
*/
private SingleObject1() {};
private static SingleObject1 sobj1=null;
//当在多线程情况下使用是为了保证当前类对象只有一个我们就需要添加"synchronized"
public static synchronized SingleObject1 getSingleObject1() {
if(sobj1==null) {
sobj1=new SingleObject1();
}
return sobj1;
}
}
2.饿汉式
package com.lx.test1;
/**
* 饿汉式
* @author Administrator
*
*/
public class SingleObject2 {
/*
1.构造方法私有
2.提供一个静态成员变量[私有],用于保存创建好的当前类对象
3.提供一个静态方法【公共】返回当前类对象
*/
private SingleObject2() {};
private static SingleObject2 sobj1=new SingleObject2();
//当在多线程情况下使用是为了保证当前类对象只有一个我们就需要添加"synchronized"
public static synchronized SingleObject2 getSingleObject1() {
return sobj1;
}
}
区别
懒汉式:资源利用率好,运行速度差
饿汉式:资源利用率差,运行速度快