设计模式——享元模式

享元模式:就是为了共享对象,将已生成的对象存储起来,下次如果还是要这个对象,直接返回该存储的对象。也是我们工作中常用的设计模式

例子:

public class WebSiteFactory {

    //集合,充当池的作用
    private HashMap<String,ConcreteWebSite> pool = new HashMap<>();

    //根据网站的类型,返回一个网站,如果没有就创建一个网站,并放入到池中,并返回
    public WebSite getWebSiteCategory(String type){
        if (!pool.containsKey(type)){
            //创建一个网站,并放入到池中
            pool.put(type, new ConcreteWebSite(type));
        }

        return pool.get(type);
    }

    public int getWebSiteCount(){
        return pool.size();
    }
}

这里的pool 就是享元模式的体现,将对象缓存再池中,有就直接返回

posted @ 2021-09-30 22:51  明月照江江  阅读(26)  评论(0编辑  收藏  举报