美文网首页
享元模式

享元模式

作者: benlue | 来源:发表于2021-08-30 02:29 被阅读0次

    享元模式是什么?

    享元模式 —— Flyweight Pattern,主要用于减少创建对象的数量,以减少内存占用和提高性能。
    它提供了减少对象数量从而改善应用所需的对象结构的方式。
    享元模式尝试重用现有的同类对象,如果未找到匹配的对象,则创建新对象。

    • 解决问题: 在有大量对象时,有可能会造成内存溢出,我们把其中共同的部分抽象出来,如果有相同的业务请求,直接返回在内存中已有的对象,避免重新创建。
    • 如何重用对象: 为对象提供唯一标识码,该标识码作为Hash查找的key。
    • 需要注意问题: 线程 和 资源抢夺的问题,必要时上锁。

    结构:

    image.png

    代码实现

    • 抽象类
      image.png
    • 实现类

      image.png
      image.png
    • 访问工具类

      image.png
      image.png
    • 调用结果
      image.png

    总结

    享元模式在关键点在 “重用” 怎么设计好重用机制是十分重要的,并且应该设置HashMap的存储上限,避免在某些特殊的情况下创建新对象存放进去,造成内存损坏。
    而在应用上来说,大多数的语言都能应用上享元模式,而应用的重点是:如何确定重用范围,和在确保现有架构下引入重用机制是否会引起什么问题?
    这是一个十分开阔的设计模型。

    相关文章

      网友评论

          本文标题:享元模式

          本文链接:https://www.haomeiwen.com/subject/iulniltx.html