据我了解,boost::function、boost::factory 和 std::map 的组合允许创建对象工厂。http://www.boost.org/doc/libs/1_49_0/libs/functional/factory/doc/html/index.html Loki 有抽象工厂,但由于某种原因 boost 没有它。使用抽象工厂模式的提升方式是什么?
我能想到的一种方法是抽象一个用于手动创建产品的接口——通过创建具有相同创建策略的产品。
如果您的答案使用静态多态性,我会更高兴。