Modern c++ design 第九章

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

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

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

这部分内容及其晦涩, 还有许多细节, 书中自有详细描述, 写写只是为了复习一下所看内容,无他.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值