理解享元模式
享元模式 是为了降低运行代价,提高系统性能 的一个设计模式。
主要是通过将相同或者相似的对象 放在一个对象池里,如果需要直接在对象池里取,而不用再在内存里面创建一个对象,当需要相似的对象 数量多的情况下,就可以达到降低运行代价,提高系统性能 的作用了。
理解点:
1.共享对象放在对象池(或许是一个hashMap等)
2.外部状态(在获取到享元对象之后再把外部状态添加进去)
3.例子:五子棋中的棋子,在堆中的字符串等。。
关键代码:
class FacadeFatory{
private FacadeFatory(){
Facades.put("b",new Facade()); //享元池,"b" 内部对象
}
private HashMap Facades;
private FacadeFatory factory;
public FacadeFatory getInstance(){
if(factory==null){
factory = new FacadeFatory ();
}
return factory ;
}
public Facade getFacade(String type){
return Facades.get(type);
}
}
class Facade(){//共享对象
}
浙公网安备 33010602011771号