【发布时间】:2019-02-12 10:33:22
【问题描述】:
我有一个名为 SingletonDemo 的类库,但我选择在库之外提供静态访问方法 SingletonDemo::GetInstance(),所以当我为生产构建代码时,我想要一个版本的 Getinstance(),当我为单元测试构建时,我想要另一个版本。
【问题讨论】:
-
为什么不为此使用条件编译(即#ifdef)?
-
为了测试目的而大量修改代码,会带来测试与生产不同的东西的风险。
-
您为什么想要两个不同版本的
Getinstance?它们之间可能有什么区别?通常,getter 函数是微不足道的。您不会有任何机会实现某种 meyers 单例吗? -
这是一个迈耶斯单身人士。是的!