sad
Ruby
code posted
created at 24 Aug 19:44, updated at 10 Sep 00:51
Edit
|
Back
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
module PadraoSingleton def getInstancia (self.class_variable_get :@@instance) end def self.included(mod) # criando a unica instancia da classe mod.class_variable_set :@@instance , mod.new #extendendo o proprio modulo para tornar o metodo getInstancia estático mod.extend(self) # colocando o constructor como privado mod.private_class_method :new end end class Conexao # incluindo o modulo PadraoSingleton # nesse momento a classe tem seu construtor modificado para privado # e adiquire o metodo getInstancia include PadraoSingleton attr_accessor :banco end c1 = Conexao.getInstancia # variavel 1 c1.banco = "dbpadrao" puts c1.banco c2 = Conexao.getInstancia # variavel 2 puts c2.banco c2.banco = "dbpadraoAlterado" puts c1.banco # novamente a variavel 1 |
828 Bytes in 2 ms with coderay