列出决定使用 singleton 时的设计考虑因素与静态类相比。在这样做时,你被迫将两者进行对比,因此无论你能想出什么对比,对于展示你的思维过程也很有用!此外,每个面试官都喜欢看到说明性的例子。 :)
最佳答案
- 单例可以实现接口(interface)并从其他类继承。
- 单例可以延迟加载。仅当确实需要时才使用。如果初始化包括昂贵的资源加载或数据库连接,这非常方便。
- 单例提供一个实际的对象。
- 单例可以扩展到工厂。幕后的对象管理是抽象的,因此更易于维护并产生更好的代码。
关于design-patterns - 什么时候应该使用单例模式而不是静态类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46541/