如何在Ruby中使用Singleton设计模式创建类?
问题描述:
单例模式是一种设计模式,用于限制类的实例化到一个对象实例。虽然我知道如何在C++和Java中编写单例模式,但我想知道是否有人知道如何在Ruby中实现它?如何在Ruby中使用Singleton设计模式创建类?
答
其实上面的答案并不完全正确。
require 'singleton'
class Example
include Singleton
end
您还需要包含require'singleton'语句。
答
使用Singleton模块:
class Clazz
include Singleton
end
更多信息,请参见http://www.ruby-doc.org/stdlib/libdoc/singleton/rdoc/index.html。
答
你可以使用模块来达到我相信的效果,尽管它不是“单例模式”,你可以拥有全局状态(这是一个单身人士!顽皮的全局状态!)。
这个问题得到近距离投票“太宽泛”,但它不是:它在Ruby中有一个明显而简洁的答案。 – 2015-07-11 11:50:57