您的位置:首页 > 编程语言 > C语言/C++

Modern c++ design 第九章

2007-01-23 22:31 387 查看
Abstract Factory
抽象工厂: 抽象工厂的主要目的就是生成一系列相关对象, 可以在运行期根据情况生成不同组的一系列对象。
本章主要目的是生成一个泛化的Abstract Factory. 工具是typelist, GenScatterHierarachy, GenLinearHierarachy. 这几个类结构都可以在第三章找到详细论述。

GenScatterHierarachy用来生成一个散乱的类结构, 这个类结构的最上层分别实现了抽象工厂种不同组件的生成虚函数。这就自动生成了抽象工厂必须定义的抽象产品生成的虚函数DoCreate。
具象工厂从抽象工厂以及一个定义具体DoCreate的策略生成类派生。 这个策略类利用了GenLinearHierarachy和具体产品的typelist生成一个线性类结构,结构中实现了不同具体产品的DoCreate.

在实际使用中只需要生成具象工厂, 调用Create函数, 并传入必须的模板参数, 即可获得所需对象. 如:
AbstractEnemyFactory* pFactory = ... ;
Soldier *pSoldier = pFactory->Create<Soldier>();

这部分内容及其晦涩, 还有许多细节, 书中自有详细描述, 写写只是为了复习一下所看内容,无他.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: