Как создать класс, используя шаблон проектирования Singleton в Ruby?

Одноэлементный шаблон - это шаблон проектирования, который используется для ограничения создания экземпляра класса одним экземпляром объекта. Хотя я знаю, как кодировать шаблон синглтона в C ++ и Java, мне было интересно, кто-нибудь знает, как реализовать его в Ruby?

7.08.2008 13:00:07
Этот вопрос получил "слишком широкое" голосование "за", но это не так: у него есть очевидный и лаконичный ответ в Ruby.
Wayne Conrad 11.07.2015 11:50:57
3 ОТВЕТА

Используйте одноэлементный модуль:

class Clazz
  include Singleton
end

См. Http://www.ruby-doc.org/stdlib/libdoc/singleton/rdoc/index.html для получения дополнительной информации.

8
7.08.2008 13:06:34
РЕШЕНИЕ

На самом деле, ответ выше не был полностью правильным.

require 'singleton'

class Example
  include Singleton
end

Вы также должны включить требование 'singleton'.

10
7.08.2008 22:52:25

Я полагаю, что вы могли бы использовать модули с тем же эффектом, хотя это не «шаблон синглтона», вы можете иметь глобальное состояние таким образом (что такое синглтон! Непослушное глобальное состояние!).

0
8.08.2008 02:36:54