Latest web development tutorials

Null Object Model

modello di vuoto oggetto (Null Object pattern), e un oggetto sostituito controllo vuota per istanza di oggetto NULL. oggetti nulli non vengono controllate per valori nulli, ma non la reazione un rapporto di qualsiasi azione. Tali oggetti Null può anche fornire comportamento predefinito quando i dati non è disponibile.

modello di oggetto vuoto, creiamo un soggetto designato della classe astratta ed estendere questa classe per eseguire una serie di operazioni, ma anche creare una classe non ha fatto nessuna di questa classe oggetto vuoto implementa la classe oggetto vuoto senza soluzione di continuità l'uso in luogo bisogno di verificare la presenza di valori nulli.

realizzazione

Creeremo un'azione personalizzata (in questo caso, il nome del cliente)AbstractCustomerclasse astratta, ed estende le classi di entità classeAbstractCustomer.CustomerFactory nome della classe fabbrica basata sul cliente per consegnare o restituire oggettoRealCustomerNullCustomer.

NullPatternDemo,dimostriamo l'uso di classeCustomerFactoryper dimostrare l'uso di un modello di oggetto vuoto.

modello Null Object diagramma UML

fase 1

Creare una classe astratta.

AbstractCustomer.java

classe astratta pubblica AbstractCustomer {
   String name protetta;
   public boolean isNil astratto ();
   public abstract String getName ();
}

fase 2

Creare estende le classi di entità sopra di classe.

RealCustomer.java

public class RealCustomer estende AbstractCustomer {

   RealCustomer pubblico (String name) {
      this.name = nome;		
   }
   
   @Override
   public String getName () {
      Nome tornare;
   }
   
   @Override
   isNil public boolean () {
      return false;
   }
}

NullCustomer.java

public class NullCustomer estende AbstractCustomer {

   @Override
   public String getName () {
      tornare "Non disponibile nel database clienti";
   }

   @Override
   isNil public boolean () {
      return true;
   }
}

fase 3

Crea classeCustomerFactory.

CustomerFactory.java

public class CustomerFactory {
	
   String finale public static [] nomi = { "Rob", "Joe", "Julie"};

   public static AbstractCustomer GetCustomer (String name) {
      for (int i = 0; i <names.length; i ++) {
         if (nomi [i] .equalsIgnoreCase (nome)) {
            restituire nuova RealCustomer (nome);
         }
      }
      restituire nuova NullCustomer ();
   }
}

fase 4

UtilizzareCustomerFactory,in base al nome del cliente di passare per ottenereRealCustomeroNullCustomeroggetto.

NullPatternDemo.java

public class NullPatternDemo {
   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 ( "Clienti");
      System.out.println (customer1.getName ());
      System.out.println (customer2.getName ());
      System.out.println (customer3.getName ());
      System.out.println (customer4.getName ());
   }
}

fase 5

Verifica uscita.

I clienti
rapinare
Non disponibile in database clienti
Julie
Non disponibile in database clienti