Latest web development tutorials

Null Object Model

modèle vide d'objet (Motif de l'objet Null), et un objet cocher vide substitué par exemple d'objet NULL. objets Null ne sont pas les valeurs NULL, mais pas la réaction d'une relation de toute action. De tels objets Null peuvent également fournir le comportement par défaut lorsque les données ne sont pas disponibles.

modèle objet vide, nous créons une entité désignée de la classe abstraite et d'étendre cette classe pour effectuer une variété d'opérations, mais aussi créer une classe n'a pas fait de cette classe d'objet vide implémente la classe d'objet vide de façon transparente utilisation en place doivent vérifier les valeurs nULL.

réalisation

Nous allons créer une action personnalisée (dans ce cas, le nom du client)AbstractCustomerclasse abstraite, et étend les classes d'entités de classeAbstractCustomer.CustomerFactory nom de classe usine basée sur le client pour livrer ou revenir objetRealCustomerNullCustomer.

NullPatternDemo,nous démontrons l'utilisation de la classeCustomerFactorypour démontrer l'utilisation d'un modèle d'objet vide.

modèle d'objet Null diagramme UML

Etape 1

Créer une classe abstraite.

AbstractCustomer.java

public abstract class AbstractCustomer {
   String nom protégé;
   publique isNil booléenne abstraite ();
   publique abstract String getName ();
}

Etape 2

Créer étend les classes d'entités ci-dessus classe.

RealCustomer.java

RealCustomer public class AbstractCustomer {

   RealCustomer publique (String nom) {
      this.name = nom;		
   }
   
   @Override
   public String getName () {
      Nom de retour;
   }
   
   @Override
   isNil public boolean () {
      return false;
   }
}

NullCustomer.java

NullCustomer public class AbstractCustomer {

   @Override
   public String getName () {
      retour "Non disponible dans la base de données du client";
   }

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

Etape 3

Créer la classeCustomerFactory.

CustomerFactory.java

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

   static public AbstractCustomer getCustomer (String name) {
      for (int i = 0; i <names.length; i ++) {
         if (noms [i] .equalsIgnoreCase (nom)) {
            return new RealCustomer (nom);
         }
      }
      return new NullCustomer ();
   }
}

Etape 4

UtilisezCustomerFactory,basée sur le nom du client à passer pour obtenirRealCustomerouNullCustomerobjet.

NullPatternDemo.java

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

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

      System.out.println ( «Clients»);
      System.out.println (customer1.getName ());
      System.out.println (customer2.getName ());
      System.out.println (customer3.getName ());
      System.out.println (customer4.getName ());
   }
}

Etape 5

Vérifiez la sortie.

clientèle
voler
Non disponible dans la base de données client
Julie
Non disponible dans la base de données client