DEV Community

Paula Santana
Paula Santana

Posted on • Updated on

Java Efetivo Essencial - Static Factory

Prefira utilizar métodos static Factory em vez de contrutores

Esta é uma série baseada no entendimento de tópicos relacionados ao livro com foco no resumo.

Porquê

Ter os contrutores privados e utilizar um método estático como fábrica para criar seu objeto garante que apenas a classe saberá como criar o objeto, evitando problemas futuros. Podemos perceber que muitas classes do Java utilizam essa abordagem.

*Principais Vantagens *

  • Nome e assinatura do método mais claro do que utilização direta do construtor;
  • Permite a reutilização de objetos evitando que se crie sempre uma nova instância do objeto;
  • Pode retornar um objeto de qualquer subtipo do próprio tipo de retorno( classes que implementam a mesma interface);

Desvantagens

  • Classes sem construtores públicos ou protegidos não podem ter subclasses;
  • Acabam sendo difíceis de serem encontrados pelos programadores;
  • Dependendo da biblioteca que você utilize de banco de dados ou conversão de dados não irá funcionar sem construtor publico;

*Nomes comuns para métodos static factory *

  • from
  • of
  • valueOf
  • create
  • getInstance
  • getType

Top comments (0)