我有一个类,它当前定义了一个存储多个参数列表的静态变量。
static list<shared_ptr<ParameterContainer> > _containers
这些ParameterContainers
应该可以被不同的客户访问。
由类的ParameterContainers
构造函数创建,它接收路径作为输入,从路径中包含的 XML 文件中读取值并将新的值存储ParameterContainers
在_containers
. 构造函数控制文件尚未存储。
客户可以访问、修改和保存 XML 文件中的参数值。该变量_containers
受互斥体保护,可保证正确的共享访问。
我认为拥有一个用于此参数的中央存储库很好,它避免了每次都从文件中加载它。这实际上是通过静态变量来实现的_containers
。
我想知道将整个类实现为单例并从变量中删除关键字 static 是否会更好_containters
。
我阅读了一些关于单例可能是反模式的讨论。我想知道在这种情况下避免单例的充分理由。