享元模式定义
运用共享技术有效的支持大量细粒度对象的复用,系统只使用少量的对象,而这些对象都很相似,状态变化很小,可以实现对象的多次复用。由于享元模式要求能够共享对象必须是细粒度对象,因此他又称为轻量级模式,是一种结构性模式。
享元模式结构图
内部状态和外部状体
内部状态是纯粹在享元对象内部并且不会随环境改变而改变的状态,内部状态可以共享,
外部状态是随着环境变化而变化的,不可以共享状态,享元对象的外部状态通常有客户端保存,并在享元对象别创建之后,需要使用的时候,在传入到享元对象内部。
单纯享元模式和复合享元模式
单纯享元模式中所有具体享元类都是可以共享的。不存在非共享具体享元类。
复合享元模式,将一些单纯享元对象使用组合模式加以组合,还可以形成复合享元对象,这样的复合享元对象本身不能共享,但是他们可以分解成为单纯享元对象,而后者则可以共享。
享元模式优缺点
享元模式适用场景