Enum Fábrica Solitão em Java

antoniorws

Antonio Serra

Posted on September 18, 2023

Enum Fábrica Solitão em Java

Neste artigo, vamos explorar o conceito de Enumerados, Fábrica e Solitão em Java, apresentando exemplos práticos de como implementá-los.

Enum
Enumerados em Java são tipos de dados que consistem em um conjunto fixo de valores pré-definidos. Eles fornecem uma maneira conveniente de representar um conjunto limitado de opções. Vejamos um exemplo de como declarar e usar enumerados em Java:

public enum DiaDaSemana {
    SEGUNDA, TERCA, QUARTA, QUINTA, SEXTA, SABADO, DOMINGO;
}

public class Main {
    public static void main(String[] args) {
        DiaDaSemana dia = DiaDaSemana.SEGUNDA;
        System.out.println("Hoje é " + dia);
    }
}

Enter fullscreen mode Exit fullscreen mode


Neste exemplo, declaramos um enumerado DiaDaSemana que representa os dias da semana. Em seguida, criamos uma variável dia do tipo DiaDaSemana e atribuímos o valor SEGUNDA. Por fim, imprimimos "Hoje é SEGUNDA" na saída.

Fábrica
Uma Fábrica em Java é um padrão de projeto que encapsula a criação de objetos. Ela fornece um método centralizado para criar instâncias de uma classe, permitindo maior flexibilidade e controle sobre o processo de criação. Vejamos um exemplo de como implementar uma fábrica em Java:

public interface Forma {
    void desenhar();
}

public class Circulo implements Forma {
    @Override
    public void desenhar() {
        System.out.println("Desenhando um círculo.");
    }
}

public class Quadrado implements Forma {
    @Override
    public void desenhar() {
        System.out.println("Desenhando um quadrado.");
    }
}

public class FabricaFormas {
    public static Forma criarForma(String tipo) {
        if (tipo.equalsIgnoreCase("circulo")) {
            return new Circulo();
        } else if (tipo.equalsIgnoreCase("quadrado")) {
            return new Quadrado();
        } else {
            throw new IllegalArgumentException("Tipo de forma inválido.");
        }
    }
}

public class Main {
    public static void main(String[] args) {
        Forma forma1 = FabricaFormas.criarForma("circulo");
        Forma forma2 = FabricaFormas.criarForma("quadrado");

        forma1.desenhar();
        forma2.desenhar();
    }
}

Enter fullscreen mode Exit fullscreen mode


Neste exemplo, temos uma interface Forma que define o método desenhar(). Em seguida, implementamos as classes Circulo e Quadrado, que implementam a interface Forma e definem sua própria implementação do método desenhar(). A classe FabricaFormas é responsável por criar instâncias das formas com base em um tipo fornecido. Por fim, no método main(), utilizamos a fábrica para criar uma instância de um círculo e uma instância de um quadrado, e chamamos o método desenhar() em cada uma delas.

Solitão
O Solitão em Java é um padrão de projeto usado quando queremos restringir a criação de instâncias de uma classe a apenas uma única instância. Isso pode ser útil em cenários em que precisamos controlar o acesso a recursos compartilhados ou quando desejamos garantir que apenas uma instância de uma classe seja criada. Vejamos um exemplo de como implementar o Solitão em Java:

public class Configuracao {
    private static Configuracao instancia;
    private String nome;

    private Configuracao() {
        this.nome = "Configuração padrão";
    }

    public static Configuracao getInstance() {
        if (instancia == null) {
            instancia = new Configuracao();
        }
        return instancia;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }
}

public class Main {
    public static void main(String[] args) {
        Configuracao config = Configuracao.getInstance();
        System.out.println("Configuração: " + config.getNome());

        Configuracao config2 = Configuracao.getInstance();
        config2.setNome("Nova configuração");

        System.out.println("Configuração: " + config.getNome());
        System.out.println("Configuração 2: " + config2.getNome());
    }
}
Enter fullscreen mode Exit fullscreen mode


Neste exemplo, a classe Configuracao implementa o padrão Solitão. A instância única da classe é armazenada em uma variável estática instancia e é acessada através do método estático getInstance(). A classe Main demonstra como obter a instância única da classe e como alterar seu estado.
Espero que este artigo tenha fornecido uma visão geral dos conceitos de Enumerados, Fábrica e Solitão em Java, juntamente com exemplos práticos de implementação. Agora você está pronto para aplicar esses padrões em suas próprias aplicações Java!

Linkedin: https://www.linkedin.com/in/antonio-rodrigo-wanderley-serra/
GitHub: https://github.com/antoniorws

💖 💪 🙅 🚩
antoniorws
Antonio Serra

Posted on September 18, 2023

Join Our Newsletter. No Spam, Only the good stuff.

Sign up to receive the latest update from our blog.

Related

Enum Fábrica Solitão em Java
java Enum Fábrica Solitão em Java

September 18, 2023