享元模式的意图是:提供大量细粒度对象共享的有效方法。
比如说,设计一个战争游戏,需要设计许多士兵。士兵都是一个模板出来的,如果一个士兵一个士兵新建,就会浪费内存空间,但是用享元模式,只需要建立士兵共同的模块对象,新建一个士兵就共享这些模块对象就可以了。
内容
Flyweight:抽象轻量级类,声明一个接口。通过它可以接受外来的状态并作出处理。
ConcreteFlyweight:具体轻量级类,实现Flyweight接口。
UnsharedConcreteFlyweight:不共享都轻量级类,这类对象常常将ConcreteFlyweight作为子节点。
FlyweightFactory:轻量级类工厂,创建并且管理flyweight对象确保享用flyweight
Ckient:客户应用程序。