【问题标题】:How do I create a Class using the Singleton Design Pattern in Ruby?如何使用 Ruby 中的单例设计模式创建类?
【发布时间】:2008-08-07 13:00:07
【问题描述】:

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

【问题讨论】:

  • 这个问题获得了“太宽泛”的密切投票,但事实并非如此:它在 Ruby 中有一个明显而简洁的答案。

标签: ruby design-patterns singleton


【解决方案1】:

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

require 'singleton'

class Example
  include Singleton
end

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

【讨论】:

    【解决方案2】:

    使用单例模块:

    class Clazz
      include Singleton
    end
    

    请参阅http://www.ruby-doc.org/stdlib/libdoc/singleton/rdoc/index.html 了解更多信息。

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 2020-01-17
        • 2010-09-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-10-12
        • 1970-01-01
        相关资源
        最近更新 更多