是否可以更改单一实例值并将其分配给 null



如果我创建一个单例并且只有一个创建实例。如果我有一个 forloop 将单例的值分配给 null 并尝试在下一次迭代中访问此值,它将中断。是否建议更改单例的值?如果是,什么情况?

单例模式的一个缺点是很难测试调用单例的类,因为你不能模拟它。

但是,如果您将instance的范围设为package,您可以通过将instance分配给您想要的任何内容来模拟它。这是重新分配单一实例的唯一用例。

有关更多详细信息,请参阅本文 https://blog.cleancoder.com/uncle-bob/2015/07/01/TheLittleSingleton.html。

最新更新