名 称
Flyweight(享元模式)
意 图
运用共享技术有效地支持大量细粒度的对象。
适 用
环 境
u 一个应用程序使用了大量的对象。
u 完全由于使用大量的对象,造成很大的存储开销。
u 对象的大多数状态都可变为外部状态。
u 如果删除对象的外部状态,那么可以用相对较少的共享对象取代很多组对象。
u 应用程序不依赖于对象标识。由于Flyweight对象可以被共享,对于概念上明显有别的对象,标识测试将返回真值。
结 构
享元模式要注意对象的内蕴模式和外蕴模式,从内蕴状态来看他们是同样的对象,但是不同的场合他们也会具体根据外晕模式做出相应的行为。
示例代码: