黑马程序员技术交流社区
标题:
享元模式和单例模式的区别
[打印本页]
作者:
L.sam
时间:
2014-6-26 22:18
标题:
享元模式和单例模式的区别
今天看7K视频时,发现了一个享元模式,先以为是单例模式的另外一个名称,然后我发现我错误了,我百度了一下,下面是一个网友的回答:
享元模式可以理解成一组共享的对象集合,下面就是一个简单的享元设计模式(甚至可以说是工厂模式了,呵呵,工厂模式目的是将具体创建对象的过程由工厂方法提供,用户只需要知道抽象类型即可。但这个例子就不要纠结成工厂模式了)
private Map<String, Object> map = new HashMap<String, Object>
public Object get(String key) {
if(map.containsKey(key)) {
return map.get(key);
}
Object obj = new Object();
map.put(key, obj);
return obj;
}
单例模式见下
public class S {
private static S s = new S();
private S() {
}
public static S getInstance() {
return s;
}
}
从上面我们享元设计模式是一个类有很多对象,而单例是一个类仅一个对象;享元模式是为了节约内存空间,提升程序性能(避免大量的new操作);而单例模式则主要是出于共享状态的目的
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2