|
|
1
3
你的代码并不是在构建一个单体。它正在创建
除非你有一个你限制过的类,所以它只能有一个实例,否则你没有一个单例。你可能有一个工厂模式,一个缓存,不管怎样-但你没有一个单一的。
... 我不知道你为什么认为你的版本比上面简单。如果你 做 想要真正创建一个singleton,您将需要一个私有构造函数,用于您试图转换为singleton的任何类。在这一点上,你基本上得到了我的第四个例子,所以我再次不确定你认为你在哪里使事情变得更简单。
my article on
|
|
|
2
1
您的代码相当于他的第四个示例,除了您正在使用显式类构造函数,而他正在声明点初始化。 您应该(在大多数情况下)避免使用singleton模式,因为它使扩展和单元测试应用程序变得非常困难。 a behavioural difference 关于使用类构造函数时何时构造单例。 |
|
|
3
0
两者都工作得很好,而且都是完全有效的——只要你不需要懒惰。如果您需要懒惰,请使用文章中指出的第五个版本。 |
|
|
S qasem · Android内存性能 8 年前 |
|
|
R83nLK82 · 在单例设计模式上引发IOException 8 年前 |
|
|
hal · 两个课程有什么区别?他们的工作方式不同吗? 8 年前 |
|
Jaquarh · 如何在不使用DI的情况下实例化父类 8 年前 |
|
|
Deepanshu · 基于PHP的Web应用程序中的单例对象状态 8 年前 |
|
|
dicle · 视图控制器中的依赖项注入 8 年前 |
|
|
Kozuki · 如何在生产代码中考虑单例? 8 年前 |