Latest web development tutorials

Null Object Model

Puste model obiektowy (Null Wzorzec Object), i pusty obiekt podstawiony czek na instancji obiektu NULL. Null obiekty nie są sprawdzania wartości null, ale nie reakcyjnej relacji jakiegokolwiek działania. Takie Null obiekty mogą również domyślne zachowanie, kiedy dane nie są dostępne.

Puste Object Model, tworzymy wyznaczony podmiot z klasy abstrakcyjnej i rozszerzenie tej klasy do wykonywania różnych operacji, ale także tworzyć klasy nie zrobił żadnej z tej pustej klasy obiektów realizuje pustą klasę obiektu płynnie stosowanie w miejscu trzeba sprawdzić dla wartości null.

realizacja

Będziemy tworzyć niestandardowe działania (w tym przypadku, nazwa klienta)AbstractCustomerklasa abstrakcyjna i rozciąga klas encjiAbstractCustomerklasy.CustomerFactorynazwa klasy fabryki w oparciu o klienta do dostarczenia lub zwrotu przedmiotuRealCustomerNullCustomer.

NullPatternDemo wykazujemyzastosowanie klasyCustomerFactorywykazać wykorzystanie pustego modelu obiektowego.

Null Object wzór diagram UML

Etap 1

Tworzenie klasy abstrakcyjnej.

AbstractCustomer.java

public abstract class AbstractCustomer {
   chronione String name;
   public abstract boolean isNil ();
   public abstract String getName ();
}

Etap 2

Tworzenie rozszerza podmiot klas wyżej klasy.

RealCustomer.java

public class RealCustomer rozciąga AbstractCustomer {

   RealCustomer publicznych (String name) {
      this.name = nazwa;		
   }
   
   @Override
   public String getName () {
      powrót nazwę;
   }
   
   @Override
   public boolean isNil () {
      return false;
   }
}

NullCustomer.java

public class NullCustomer rozciąga AbstractCustomer {

   @Override
   public String getName () {
      return "niedostępny w bazie danych klientów";
   }

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

etap 3,

TworzenieCustomerFactoryklasę.

CustomerFactory.java

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

   public static AbstractCustomer getCustomer (String name) {
      for (int i = 0; i <names.length; i ++) {
         if (nazwy [i] .equalsIgnoreCase (nazwa)) {
            powrót nowego RealCustomer (nazwa);
         }
      }
      powrót nowego NullCustomer ();
   }
}

Etap 4

UżyjCustomerFactory,na podstawie nazwy klienta przejść, aby dostaćRealCustomerlubNullCustomerobiekt.

NullPatternDemo.java

{public class NullPatternDemo
   public static void main (String [] args) {

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

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

Etap 5

Sprawdź, czy wyjście.

klientela
obrabować
Niedostępny w bazie danych klientów
Julie
Niedostępny w bazie danych klientów