享元模式
享元模式(Flyweight Pattern)是池技术的重要实现方式,其定义如下:Use sharing to support large numbers of fine-grained objects efficiently.(使用共享对象可有效地支持大量的细 粒度的对象。)
优点与缺点
享元模式是一个非常简单的模式,它可以大大减少应用程序创建的对象,降低程序内存 的占用,增强程序的性能,但它同时也提高了系统复杂性,需要分离出外部状态和内部状 态,而且外部状态具有固化特性,不应该随内部状态改变而改变,否则导致系统的逻辑混 乱。
使用场景
- 系统中存在大量的相似对象
- 细粒度的对象都具备较接近的外部状态,而且内部状态与环境无关,也就是说对象没 有特定身份。
- 需要缓冲池的场景。