【发布时间】:2008-08-07 13:00:07
【问题描述】:
单例模式是一种设计模式,用于将类的实例化限制为一个对象实例。虽然我知道如何在 C++ 和 Java 中编写单例模式,但我想知道是否有人知道如何在 Ruby 中实现它?
【问题讨论】:
-
这个问题获得了“太宽泛”的密切投票,但事实并非如此:它在 Ruby 中有一个明显而简洁的答案。
标签: ruby design-patterns singleton
单例模式是一种设计模式,用于将类的实例化限制为一个对象实例。虽然我知道如何在 C++ 和 Java 中编写单例模式,但我想知道是否有人知道如何在 Ruby 中实现它?
【问题讨论】:
标签: ruby design-patterns singleton
其实上面的答案并不完全正确。
require 'singleton'
class Example
include Singleton
end
您还需要包含 require 'singleton' 语句。
【讨论】:
使用单例模块:
class Clazz
include Singleton
end
请参阅http://www.ruby-doc.org/stdlib/libdoc/singleton/rdoc/index.html 了解更多信息。
【讨论】:
我相信你可以使用模块达到同样的效果,虽然它不是“单例模式”,但你可以以这种方式拥有全局状态(这就是单例!顽皮的全局状态!)。
【讨论】: