我正在与 Ruby 中的单例模式作斗争。
我知道单例实现了一个对象的单个实例,但我不太明白我们是否可以在没有单例模块的情况下复制它。
然后是私有方法的问题;现在我必须做这样的事情:
class MyTestClass
private_class_method :new
class << self
def test
puts hello
end
private
def hello
'hello world'
end
end
end
MyTestClass.test
所以我的问题是:
- 以上是一个好的单例模式吗?
- 这会确保只有一个实例吗?
- 有没有办法使用单例模块拥有私有方法?