结构图:
释义:
享元模式,即运用共享技术来有效的支持大量细粒度对象的复用。它通过共享已经存在的对象来大幅度减少需要创建的对象数量,避免大量相似对象的开销,从而提高系统资源的利用率。
享元模式中存在以下两种状态:
内部状态:即不会随着环境的改变而改变的可共享状态。
外部状态:即随着环境的改变而改变的不可共享状态。享元模式的实现要领就是区分应用中的这两种状态,并将外部状态外部化。
结构:
ConcreteFlyweight:具体的享元实现对象,必须是可共享的,需要封装 Flyweight的内部状态。
UnsharedConcreteFlyweight:是不可以共享的外部状态,它以参数的形式注入具体享元的相关方法中。
FlyweightFactory:享元工厂,主要用来创建并管理共享的享元对象,并对外提供访问共享享元的接口。