我正在写这个,好吧,我猜它叫它是一个库。它提供了一组MyType类型的全局变量。现在,我想在其自己的.cpp
和.h
文件中编写每个MyType的源代码,而不需要知道所有其他文件,而不需要一些中央头文件说MyType* offerings = { &global1, &global2, /*... */ }
。
现在,如果这些是我希望能够实例化的不同类,我会想要使用工厂模式;但是这里它们都是相同的类型,我不需要实例化任何东西。我认为每个变量都需要从其来源的某个地方“注册”到全局数组(或无序集)中。
那么,这样做的惯用方法是什么?
答案 0 :(得分:0)
您可以查看Registry Pattern并为您的文件系统或文件夹创建管理这些对象的管理器。
注册表可以包含与文件系统处理相关的所有内容,因此您可以在一个配置文件或数据库中的模型中插入对象名称和属性。注册表可以在运行时查找并实例化对象。
现在您需要一种机制将此对象传递给系统的其余部分。但是如果你的对象不会改变那么只有一个带有编译时对象的注册表就可以了。
注册表是一种以与单身人士类似的方式处理全局对象的模式。