C++实现设计模式——享元(Flyweight)模式
- 享元模式定义
运用共享技术有效地支持大量细粒度对象的复用,系统只使用少量的对象,而这些对象都很相似,状态变化很小,可以实现对象的多次复用,由于享元模式要求能够共享的对象必须是细粒度对象,因此它又称为轻量级模式,是一种结构型模式。
- 享元模式结构
- Flyweight(抽象享元类):一个接口或抽象类,声明了具体享元类的公共方法。
- ConcreteFlyweight(具体享元类):实现了抽象享元类,其实例称为享元对象。
- UnsharedConcreteFlyweight(非共享具体享元类):并不是所有的抽象享元类的子类都需要被共享,不能被共享的子类可设计为费共享具体享元类。
- FlyweightFactory(享元工厂类):用于创建并管理享元对象。
-
享元模式应用场景
一个应用程序使用了大量对象,而大量的这些对象造成大量存储开销时就