獨體模式(Singleton Pattern)


#1

關於ruby 的 Singleton Pattern 他有一個專屬的gems singleton 來讓你方便的設定。但請問一下可否可以解釋一下這到底是怎麼去理解呢?是怎麼樣導出

data :hello , helloWorld

#2

首先…那不是 gem,是 std lib,gem 要另外裝,而 std lib 可以直接 require

http://ruby-doc.org/stdlib-1.9.3/libdoc/singleton/rdoc/Singleton.html

不過這東西其實很好理解,也就是一個 class 只能有一個物件而已,而裡面會幫你做好類似 thread safe 的動作…就這樣而已…沒了,而用這個的話,其實你用 module + class variable 也是相同的作法就是,不過要自己處理 thread safe 的問題而已

new 被禁止是因為自己會被 clone 出來,所以用了這個 new 就變成 private 了