![]() |
1
3
看一看 http://blog.ardes.com/2006/12/11/testing-singletons-with-ruby :
|
![]() |
2
17
单例类基本上是这样做的
因此,通过使用send调用private方法new,可以完全绕过memoization。
这种方法的一个好处是,运行测试不会修改任何全局状态。 可能是更好的方法,从 this answer 以下内容:
这将创建一个匿名类,该类继承自
|
![]() |
3
7
|
![]() |
4
3
我看到的一种模式是让单例成为实际类的子类。您在生产代码中使用单例版本,但测试使用的是基本(非单例)类。 例子:
…但我正在寻找更好的方法。 我的部分问题是,我使用JRuBy和挂钩到Java系统首选项中, 是 全球的。其余的我认为我可以重构出来。 |
![]() |
5
2
人们使用单件的一个原因是“全局变量是坏的,M'kay?”单例是一个全局变量,隔离在一个名称空间中,并且具有惰性的实例化。考虑一个真正的全局变量是否可以简化一些事情,特别是在不需要惰性实例化的情况下。 |
![]() |
6
1
将其重构为可以构造多次的类。这有一个副作用(有些人会说是有益的),即从类中删除了单例性质。 另一种方法是:您发现需要多次调用构造函数。为什么? 应该 类只构造一个实例?单件提供什么好处? |
![]() |
7
0
RSPEC是否允许您执行预测试操作?因此,可以向静态类添加另一个方法,该方法清除了构造函数期间所做的任何操作。然后,在每次测试之前就调用它。 |
![]() |
8
-1
你可以做一个新的
|
![]() |
S qasem · Android内存性能 6 年前 |
![]() |
R83nLK82 · 在单例设计模式上引发IOException 7 年前 |
![]() |
hal · 两个课程有什么区别?他们的工作方式不同吗? 7 年前 |
![]() |
Jaquarh · 如何在不使用DI的情况下实例化父类 7 年前 |
|
Deepanshu · 基于PHP的Web应用程序中的单例对象状态 7 年前 |
![]() |
dicle · 视图控制器中的依赖项注入 7 年前 |
![]() |
Kozuki · 如何在生产代码中考虑单例? 7 年前 |