目录

享元模式

定义

享元模式是一种结构型设计模式,它摒弃了在每个对象中保存所有数据的方式,通过共享多个对象所共有的相同状态,让你能在有限的内存容量中载入更多的对象。

类图

https://peierlong-blog.oss-cn-hongkong.aliyuncs.com/uPic/类图.svg

场景

仅在程序必须支持大量对象并且没有足够的内存容量时使用享元模式。

实现思路

  1. 将需要改写的享元的类成员变量分为两部分。

  2. 保留内在状态的属性,并修改为不可变的,在构造函数初始化。

  3. 找到外在状态并暴露方法

  4. 有选择的使用工厂类创建享元缓存池

  5. 客户端必须存储外在状态的数值

优缺点

优点

可以节省大量的内存

缺点

可能会需要用时间来换空间

代码复杂度提高

The end!