Singleton:
意圖在于保證一個(gè)類(lèi)僅有一個(gè)實(shí)例,并提供一個(gè)訪(fǎng)問(wèn)它的全局訪(fǎng)問(wèn)點(diǎn)。 如圖:
Singleton有這樣的特點(diǎn):
1)static method 充當外部訪(fǎng)問(wèn)它的 interface
2)不論外部有多少個(gè)操作者,也只會(huì )有一個(gè)真正的object,也就是全局共享的 object
3)singleton 被強制無(wú)法通過(guò) constructor 構造對象
ruby里面的一個(gè)singleton:
class MyLogger
private_class_method :new
@@logger = nil
def MyLogger.create
@@logger = new unless @@logger
@@logger
end
end