如何在Ruby中使用Singleton设计模式创建类?

时间:2020-03-05 18:38:19  来源:igfitidea点击:

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

解决方案

回答

使用单例模块:

class Clazz
  include Singleton
end

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

回答

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

require 'singleton'

class Example
  include Singleton
end

我们还需要包括require'singleton'语句。

回答

我们可以使用与我相信的效果相同的模块,尽管它不是"单例模式",但我们可以那样使用全局状态(这就是单例!顽皮的全局状态!)。