java设计模式—享元模式
一.概述
享元模式是指创建一个实例后,将其存放在map里,当在其他地方需要创建相同实例时,直接在map里面取出相应的实例,不必多次创建,从而达到减少创建实例数量,内存开销,并提高性能的目的。这一点跟单例模式颇有相似之处。
二.应用场景
1、系统存在较多相实例。
三.代码演示:
public class PrototypeDemo implements Cloneable{
private String message;
public PrototypeDemo(){ }
/**
* 克隆该实例
*/
public Object clone(){
PrototypeDemo resume = null;
try {
resume = (PrototypeDemo) super.clone();
} catch (CloneNotSupportedException e) {
e.printStackTrace();
}
return resume;
}
public void setMessage(String message){
this.message = message;
}
public void printMsg(){
System.out.println(message);
}
public static void main(String args[]){
PrototypeDemo demoA = new PrototypeDemo();
demoA.setMessage("demoA");
demoA.printMsg();
PrototypeDemo demoB = (PrototypeDemo) demoA.clone();
demoB.printMsg();
}
}