享元模式

简介

定义: 运用共享技术有效地支持大量细粒度的对象。主要用于减少创建对象的数量,以减少内存占用和提高性能。这种类型的设计模式属于结构型模式,它提供了减少对象数量从而改善应用所需的对象结构的方式。

使用场景:

  • 文本编辑器的字符对象

  • 游戏中的大量粒子、子弹

  • String常量池

  • Integer缓存(-128到127)

实现要点:

  • 内部状态(可共享)

  • 外部状态(不可共享)

  • 享元工厂管理对象池

UML

spinner

代码示例

  1. 创建一个享元接口

  1. 享元实现

  1. 享元工厂

  1. 客户端

  1. 使用方式

Last updated