设计模式学习笔记——享元模式

网友投稿 1279 2022-09-29

设计模式学习笔记——享元模式

设计模式学习笔记——享元模式

享元模式英文叫Flyweight Pattern。Flyweight,应该是一个来自于拳击术语,最轻量级,也叫蝇量级。次奥,我看《大话设计模式》这本书的时候,一直错看成 亨元模式,搞不懂为什么叫这个名字。现在看清楚了,是享元,共享的享,就比较好理解了。

享元模式,就是共享、重用一些现成的对象,免得构造太多,消耗资源巨大。因此,享元模式是 单例模式 + 简单工厂模式。

在享元模式中引入了享元工厂类,享元工厂类的作用在于提供一个用于存储享元对象的享元池,当用户需要对象时,首先从享元池中获取,如果享元池中不存在,则创建一个新的享元对象返回给用户,并在享元池中保存该新增对象。

class FlyweightFactory { //定义一个HashMap用于存储享元对象,实现享元池 private HashMap flyweights = newHashMap(); public Flyweight getFlyweight(String key){ //如果对象存在,则直接从享元池获取 if(flyweights.containsKey(key)){ return(Flyweight)flyweights.get(key); } //如果对象不存在,先创建一个新的对象添加到享元池中,然后返回 else { Flyweight fw = newConcreteFlyweight(); flyweights.put(key,fw); return fw; } }}

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:OpenCV学习笔记-卷积边界
下一篇:关于如何自建KMS服务器
相关文章

 发表评论

暂时没有评论,来抢沙发吧~