我正在开发一个控制网络适配器的类,我需要确保只有这个类的一个实例。全局访问并不是必需的,因为此类仅供执行网络操作的客户端使用,因此我认为单例模式不是这种情况。
目前我的工厂有一个netAdapter的静态实例,但我不确定这是一个很好的解决方案。
最好的方法是什么,避免可测性问题?
编辑:我有多个适配器(wifi,以太网,2G / 3G / 4G),但我只能有一个实例。
答案 0 :(得分:3)
我需要确保这个类只有一个实例。
...所以我认为单身人士模式并非如此。
将类限制为单个实例是单例模式的定义。
这样做的最佳方法是什么,避免可测性问题?
如果将类限制为单个实例,我认为不能避免可测性问题。最好的方法可能是忘记这样的要求。
无需全局访问
然后我建议一个本地静态变量:
void function_that_needs_a_single_instance_ever() {
static singleton_class instance;
// do something with your singleton
}