Melhore o java, considere o método estático de fábrica em vez do construtor

  Método estático de fábrica em vez de construtor Por
  
  falar nisso, muito pode ser dito. Depois de trabalhar no projeto por mais de um ano, senti-o gradualmente.
  
  Falando em construtores,
  
  todos sabem que os construtores nos permitem obter uma instância de nós mesmos ou de outros, onde e onde. Não temos escrúpulos em usar novos, mas nunca consideramos como os outros se sentem. De fato, um novo objeto novo é abrir um espaço de memória para esse objeto. Se é novo em todos os lugares, em todos os lugares, em todas as montanhas ...
  
  colorido novo, a essência é a mesma. Uma
  
  frase: Embora o construtor seja todo-poderoso, mas deve ser valorizado.
  
  Vamos falar sobre o método
  
  estático de fábrica, como o nome sugere, é apenas um método estático que retorna uma instância da classe. Existe uma analogia inadequada aqui: acho que os benefícios dos métodos estáticos de fábrica, como torneiras manuais, sempre têm água (objetos). Basta usar esse método.
  
  Dê uma olhada no seguinte exemplo simples:
  
  public Boolean static valueOfBoolean (Boolean b)
  
  {
  
  return b? Boolean.TRUE: Boolean.FALSE;
  
  }
  
  #booleano tipo básico é convertido em referência a objeto booleano.
  
  #staticDe acordo
  
  com o exemplo acima, comparado ao construtor, vamos discutir comigo:
  
  1 Ele começa a ter nomes
  
  2 Você não precisa chamá-los sempre, criar um novo objeto
  
  3 Retorne a qualquer
  
  API de acesso ao serviço de objeto do subtipo do tipo de retorno original- --- Fábrica dinâmica flexível
  
  O seguinte implementa uma interface de provedor de serviços e um provedor padrão:
  
  pacote src.day01;
  
  importar java.util.concurrent.ConcurrentHashMap;
  
  / **
  
  * Criado com o IntelliJ IDEA.
  
  * Usuário: Li
  
  * Data: 14-5-12
  
  * Hora: 10:52
  
  * Para alterar este modelo, use Arquivo | Configurações | Modelos de arquivo.
  
  * /
  
  public interface Service {
  
  }
  
  provedor de interface pública {
  
  Service newService ();
  
  }
  
  classe pública Services {
  
  private Services () {}
  
  private static final Map <String, Provider> provider = new ConcurrentHashMap <String, Provider> ();
  
  public static final String DEFAULT_PROVIDER_NAME = "<def>";
  
  public static void registerDeafaultProvider (Provedor p)
  
  {
  
  registerProvider (DEFAULT_PROVIDER_NAME, p);
  
  }
  
  public static void registerProvider (String name, Provider p)
  
  {
  
  provider.put (name, p);
  
  }
  
  public static Service new Instance ()
  
  {
  
  return newInstance (DEFAULT_PROVIDER_NAME);
  
  }
  
  public static Service newInstance ( Nome da string)
  
  {
  
  Provedor p = provider.get (name);
  
  if (p == null)
  
  lança nova IllegalArgumentException (
  
  "no ..."
  
  );
  
  retorna p.newService ();
  
  }
  
  }
  
  #providers
  
  # newInstance Esse método é estático O método factory
  
  deste exemplo nos diz que, quando
  
  eles criam uma instância de tipo parametrizado, o código é mais conciso.
  
  Resumo
  
  Static Factory Method
  
  1 Começou a ter um nome
  
  2 Você não precisa chamá-los toda vez para criar um novo objeto.3
  
  Retornar objetos de qualquer subtipo do tipo de retorno original.4
  
  Quando eles criam uma instância de tipo parametrizado, o código é mais conciso.
  
  (A vida é inseparável de encontrar objetos, procurar maneiras, o que você diz?)
  
  Obrigado e compartilhamento de recursos
  
  andaram passo a passo na estrada, espero que todos se juntem a mim.

Acho que você gosta

Origin www.cnblogs.com/zhenhua1618/p/12729931.html
Recomendado
Clasificación