理解享元模式

  享元模式 是为了降低运行代价,提高系统性能 的一个设计模式。

  主要是通过将相同或者相似的对象 放在一个对象池里,如果需要直接在对象池里取,而不用再在内存里面创建一个对象,当需要相似的对象 数量多的情况下,就可以达到降低运行代价,提高系统性能 的作用了。

  理解点:

  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(){//共享对象

}

 

  

 

 

 

 

 

 

 

  

 

posted @ 2015-04-29 10:36  曾曾曾  阅读(109)  评论(0)    收藏  举报