设计模式C++描述----12.享元(Flyweight)模式 (二)

2014-11-24 12:03:46 · 作者: · 浏览: 1

vector _fly;
};


//测试
int main(int argc,char* argv[])
{
FlyweightFactory* fc = new FlyweightFactory();

//不同的对象,享元工厂将会创建新的享元类
Flyweight* fw1 = fc->GetFlyweight("Object A");
Flyweight* fw2 = fc->GetFlyweight("Object B");

//相同的对象,享元工厂将会使用一个已创建的享元类
Flyweight* fw3 = fc->GetFlyweight("Object A");

return 0;
}
三. 说明

1. 享元工厂类是重点,因为它创建并管理享元对象,对没有的对象它会创建,对已有的对象它会提供一个已创建的实例。

2. 可以想像有一个对象池,里面都是一些享元类,享元工厂的作用就是从对象池里取对象。

3. 它的目的是大幅度地减少需要实例化的类的数量。


摘自 lwbeyond