抽象工厂和类作为第一类对象

时间:2012-12-05 21:56:14

标签: c++ prototype abstract-factory first-class

一个理论问题。我正在阅读Gof的设计模式,抽象工厂部分。这本书提到了像Prototype那样实现这种模式的可能性,或者,如果语言允许的话,还提供了一个存储类而不是对象的Prototype。

我明白这一点;例如在Java或Smalltalk中,类也是对象(在Java中,它们实际上是类Class的实例)。因此,我们可以将它们存储在一个类中,并在需要时调用这些类的实例的创建。

在C ++中,类不是第一类对象;因此,我们不应该遵循这种方法。但是,我们不能在Concrete Factory中声明嵌套类,并使用调用其构造函数的方法(并返回它们的实例)吗?最终结果与Java或Smalltalk等其他语言相同。我是对的吗?

感谢您的关注。

0 个答案:

没有答案