Latest web development tutorials

Null Object Model

modelo vazio objecto (Objecto Padrão nulo), e um objeto de verificação substituído vazia, por exemplo, NULL objeto. objetos nulos não são verificar os valores nulos, mas não a reação de um relacionamento de qualquer ação. Tais objetos nulos também pode fornecer comportamento padrão quando os dados não está disponível.

modelo de objeto vazio, criamos uma entidade designada da classe abstrata e estender esta classe para executar uma variedade de operações, mas também criar uma classe não fazer qualquer dessa classe objeto vazio implementa a classe objeto vazio perfeitamente utilização em lugar precisa verificar se há valores nulos.

realização

Nós vamos criar uma ação personalizada (neste caso, o nome do cliente)AbstractCustomerclasse abstrata, e estende as classes de entidade de classeAbstractCustomer.CustomerFactory nome da classe fábrica baseada no cliente para entregar ou devolverRealCustomerNullCustomer objeto.

NullPatternDemo,demonstramos o uso de classeCustomerFactorypara demonstrar o uso de um modelo de objeto vazio.

padrão de objeto nulo UML diagrama

passo 1

Criar uma classe abstrata.

AbstractCustomer.java

public abstract class AbstractCustomer {
   protegidas String nome;
   isNil boolean public abstract ();
   Cadeia getName abstrato pública ();
}

passo 2

Criar estende as classes de entidade acima da classe.

RealCustomer.java

classe pública RealCustomer estende AbstractCustomer {

   RealCustomer pública (String nome) {
      this.name = nome;		
   }
   
   @Override
   Cadeia getName pública () {
      nome de retornar;
   }
   
   @Override
   isNil boolean pública () {
      return false;
   }
}

NullCustomer.java

classe pública NullCustomer estende AbstractCustomer {

   @Override
   Cadeia getName pública () {
      retornar "Não disponível no Banco de Dados do Cliente";
   }

   @Override
   isNil boolean pública () {
      return true;
   }
}

passo 3

Criar classeCustomerFactory.

CustomerFactory.java

CustomerFactory classe pública {
	
   público static final String [] names = { "Rob", "Joe", "Julie"};

   public static AbstractCustomer GetCustomer (String nome) {
      for (int i = 0; i <names.length; i ++) {
         if (nomes [i] .equalsIgnoreCase (nome)) {
            retornar nova RealCustomer (nome);
         }
      }
      retornar nova NullCustomer ();
   }
}

passo 4

UseCustomerFactory,com base no nome do cliente para passar para chegarRealCustomerouNullCustomerobjeto.

NullPatternDemo.java

NullPatternDemo classe pública {
   main (String [] args) public static void {

      AbstractCustomer customer1 = CustomerFactory.getCustomer ( "Rob");
      AbstractCustomer customer2 = CustomerFactory.getCustomer ( "Bob");
      AbstractCustomer customer3 = CustomerFactory.getCustomer ( "Julie");
      AbstractCustomer customer4 = CustomerFactory.getCustomer ( "Laura");

      System.out.println ( "Clientes");
      System.out.println (customer1.getName ());
      System.out.println (customer2.getName ());
      System.out.println (customer3.getName ());
      System.out.println (customer4.getName ());
   }
}

passo 5

Verifique saída.

clientes
roubar
Não disponível no banco de dados do cliente
Julie
Não disponível no banco de dados do cliente