11

单例模式是一种设计模式,用于将类的实例化限制为一个对象实例。虽然我知道如何在 C++ 和 Java 中编写单例模式,但我想知道是否有人知道如何在 Ruby 中实现它?

4

3 回答 3

10

实际上,上面的答案并不完全正确。

require 'singleton'

class Example
  include Singleton
end

您还需要包括 require 'singleton' 语句。

于 2008-08-07T22:52:25.653 回答
8

使用单例模块:

class Clazz
  include Singleton
end

有关更多信息,请参见http://www.ruby-doc.org/stdlib/libdoc/singleton/rdoc/index.html

于 2008-08-07T13:06:34.777 回答
0

我相信您可以使用模块达到相同的效果,尽管它不是“单例模式”,但您可以以这种方式拥有全局状态(这就是单例!顽皮的全局状态!)。

于 2008-08-08T02:36:54.843 回答