享元模式(Flyweight Pattern) 定义: 它是一种软件设计模式. 它使用共享物件, 用来尽可能减少内存使用量以及分享资讯给尽可能多的相似物件; 它适合用于当大量物件只是重复因而导致无法令人接受的使用大量内存. 通常物件中的部分准柜台是可以分享. 常见做法是它们放在外部数据结构, 当需要使用时再将他们传递非享元.
享元模式解决的问题
- 重复得到有效利用
- 也就是节省内存开销
享元模式的组合使用
- 享元模式与单例模式的目的很相似, 都是有节约系统资源
- 出发点不同:
- 单例模式是保证对象唯一, 同时节省了资源
- 享元模式共享物件, 节省内存
- 所以上面的UML 是两者的组合拳