Одноэлементный шаблон - это шаблон проектирования, который используется для ограничения создания экземпляра класса одним экземпляром объекта. Хотя я знаю, как кодировать шаблон синглтона в C ++ и Java, мне было интересно, кто-нибудь знает, как реализовать его в Ruby?
CodingWithoutComments
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
cynicalman
7.08.2008 13:06:34
РЕШЕНИЕ
На самом деле, ответ выше не был полностью правильным.
require 'singleton'
class Example
include Singleton
end
Вы также должны включить требование 'singleton'.
10
CodingWithoutComments
7.08.2008 22:52:25
Я полагаю, что вы могли бы использовать модули с тем же эффектом, хотя это не «шаблон синглтона», вы можете иметь глобальное состояние таким образом (что такое синглтон! Непослушное глобальное состояние!).
0
Michael Neale
8.08.2008 02:36:54