Singleton bobão

19 Jan
2006

Dando uma lida poraí sobre Design Patterns, vi dois exemplos interessantes de Singleton…Em Java

public class SingletonBobao{
  private SingletonBobao(){}

  public static SingletonBobao getSingletonBobao(){
    if (ref == null) // ok, pode chamar o construtor
        ref = new SingletonBobao();
    return ref;
  }

  public Object clone()	throws CloneNotSupportedException{
    throw new CloneNotSupportedException();
  }

  private static SingletonBobao ref;
}

E em Ruby

require 'singleton'
class SingletonBobinho
  include Singleton
end

Hummmmm…

Popularity: 15% [?]

by-nc-nd

3 Responses to Singleton bobão

Avatar

Phillip Calçado

January 20th, 2006 at 9:39 am

Seu código em java não é thread safe.

O problema não é o singleton em si (mesmo pq é uma cosia tão pouco útil que não vale uma entrada na biblioteca padrão), mas não ter algo aprecido com mixins. Você ia acabar tendo que criar uma superclasse apra ter comportamento parecido e afetar toda a sua hierarquia só porque uma droga de classe lá embaixo precisa ser um singleton :P

Avatar

Phillip Calçado

January 20th, 2006 at 9:40 am

Ah, e pô o fato dos métodos de inicialização em Ruby terem sempre o mesmo nome 9em vez do nome da classe como em Java e C++) ajuda pra cacete :P

Avatar

Rafael Trindade » C# - Quick Singleton Util Class

March 28th, 2006 at 10:55 am

[...] Tá tá tá, este post é somente pra concorrer (irônico) com meu amigo Diego, em relação a este post que ele fez. [...]

Comment Form

top