了解工厂,我应该使用它们吗?

5 c++ design-patterns factories

我之前从未使用过工厂,原因很简单,我不知道什么时候需要它们.我在业余时间一直在做一个小游戏,我决定为声音实现FMOD.我看了一个为OpenAL设计的包装器(不同的声音设置),它看起来像......

SoundObject*SoundObjectManager*SoundObjectFactory*

SoundObject基本上是每个声音对象的实例.SoundObjectManager只管理所有这些对象.这是很直接的,并且很有意义,但我没有得到工厂正在做什么或使用什么.我一直在阅读关于Factorys的内容,但仍然没有真正得到它们.

任何帮助,将不胜感激!

duf*_*ymo 2

将 Factory 视为“虚拟构造函数”。它允许您构造具有通用编译时类型但不同运行时类型的对象。您只需告诉工厂创建不同运行时类型的实例即可切换行为。