package scala.creational// Permitir a criação de uma só instância de um tipo de objetoobject Singleton {// object in scala is a singleton class var value:Int = _ def someMethod() : String  = {  "Hello Singleton!" }}// Error://class BadSingleton private () {// private var instance:BadSingleton = null//  //  def getInstance() : BadSingleton = {//    if(instance == null) instance = new DummySingleton()//    return instance//  }//}// Clientobject SingletonClient extends Application { println(Singleton.someMethod()) // Compile error // var s = new Singleton() var s1 = Singleton var s2 = Singleton println(Singleton.value) s1.value = 1 println(Singleton.value) s2.value = 2 println(Singleton.value) println(s1 == s2) // Compile error //  println(new BadSingleton().getInstance()) //  println(BadSingleton.getInstance())}
Saturday, August 28, 2010
Design Patterns em Scala: Singleton
Singleton:Em Scala o padrão Singleton está embutido na linguagem e substitui os temíveis métodos static de Java que são um pesadelo para testes de unidade. O Singleton, criado com a palavra reservada object agrega os métodos de classe, isto é, que não depende dos dados de uma instância. Veja o exemplo abaixo:Singleton.scala
Labels:
design patterns,
scala
Subscribe to:
Post Comments (Atom)
 
 
No comments:
Post a Comment