zoukankan      html  css  js  c++  java
  • [设计模式]享元模式

    1. 享元模式的介绍

    享元模式是对象池的一种实现,英文名为Flyweight,代表轻量级的意思。享元模式用来尽可能减少内存使用量,它适合用于可能存在大量重复对象的场景,来缓存可共享的对象,达到对象共享、避免创建过多对象的效果,这样一来就可以提升性能、避免内存移除等。
    享元模式的部分状态是可以共享,可以共享的状态成为内部状态,内部状态不会随着环境变化;不可共享的状态则称之为外部状态;他们随着环境的改变而改变。在享元模式中会建立一个对象容器,在经典的享元模式中该容器为一个Map,健值就是享元对象的内部状态,它的值就是享元对象本身。客户端程序通过这个内部状态从享元工厂中获取享元对象,如果有缓存则使用缓存对象,否则创建一个享元对象并且存入容器中,这样一来就避免了穿件过多对象的问题

    2.享元模式定义

    使用共享对象可有效地支持大量的细粒度的对象。

    3.使用场景

    • 系统中存在大量相似对象。
    • 溪洛渡的对象都具备较接近的外部状态,而且外部状态与环境无关,也就是说对象没有特定身份
    • 需要缓冲池的场景
  • 相关阅读:
    之前没弄明白的链表和return
    读Bsautiful Soup库有感
    Beautiful Soup库
    XML和JSON的系列操作
    urllib和requests的区别(持续更新)
    request请求把cookie当作参数传入请求
    Python统计文件夹下文件的个数
    基础算法之查找
    timeit用法(不完整)
    spring初识
  • 原文地址:https://www.cnblogs.com/zhousysu/p/5483774.html
Copyright © 2011-2022 走看看