【发布时间】:2016-03-01 16:20:39
【问题描述】:
我有实现MyFactory 接口的具体工厂类。我想根据参数获取具体的工厂对象。如何做到这一点?
一种方法是创建工厂工厂[FoF],而FoF是参数化工厂。
有没有更优雅的方法来做到这一点?
这纯粹是智力练习,我的项目没有遇到任何问题。
【问题讨论】:
-
我在我正在处理的事情中使用了一个模板来完成类似的工作,但是仅仅在工厂仅用作创建多态类的通用方式时才有效。如果需要专门设置任何类,则需要针对这些情况专门设置模板,这可能会变得混乱。
-
我很难想象这个“工厂工厂”可以解决什么商业问题。一个清晰的用例或一些代码可能有助于理清思路。
-
@JohnZwinck 说,用户在赛车游戏中选择了一些自行车[有一些 ID]。我想使用所选自行车的工厂来制造自行车。我会将自行车 ID 传递给 FoF,它会返回适当的工厂对象。
-
在堆上创建的返回
MyFactory对象的函数可以吗?该函数将采用ID并创建适当的Factory对象。 -
你可能想看看抽象工厂模式:en.wikipedia.org/wiki/Abstract_factory_pattern
标签: c++ oop design-patterns factory