ori*_*rip 13
不要使用单身人士.
具体来说,单例和全局变量之间的唯一区别是单例尝试强制执行单个实例(例如,通过使构造函数为私有).
相反,使构造函数公开并使用新实例编写测试.在您的实际程序中,用于getInstance()获取规范的全局实例(或使用IOC容器).
请记住,单身人士是病态的骗子.
如果你仍然对Singleton的想法感到满意,而不是公开构造函数,你可以添加一个公共(和静态)工厂方法,以不会意外使用的方式创建实例,例如:
public static MyClass TEST_CreateInstance() {
return new MyClass();
}
Run Code Online (Sandbox Code Playgroud)