Latest web development tutorials

Null Object Model

modelo de objeto vacío (modelo objeto nulo), y un cheque sustituido objeto vacío para la instancia de objeto NULL. objetos nulos no se comprueban los valores nulos, pero no la reacción de una relación de cualquier acción. Tales objetos nulos también pueden proporcionar un comportamiento por defecto cuando los datos no está disponible.

modelo de objeto vacío, creamos una entidad designada de la clase abstracta y extender esta clase para realizar una variedad de operaciones, sino también crear una clase de no hacer nada de esta clase de objeto vacío implementa la clase de objeto vacío sin problemas su uso en el lugar necesario para comprobar si hay valores nulos.

realización

Vamos a crear una acción personalizada (en este caso, el nombre del cliente) clase abstractaAbstractCustomer,y se extiende a las clases de entidad de claseAbstractCustomer.nombre de la clase de fábricaCustomerFactorybasado en el cliente para entregar o devolver objetoRealCustomerNullCustomer.

NullPatternDemo,que demuestran el uso de la claseCustomerFactorypara demostrar el uso de un modelo de objetos vacía.

patrón de objeto nulo diagrama UML

Paso 1

Crear una clase abstracta.

AbstractCustomer.java

clase abstracta pública AbstractCustomer {
   String nombre protegido;
   isNil abstract boolean pública ();
   getNombre cadena pública abstracta ();
}

Paso 2

Crear extiende por encima de las clases de entidad de clase.

RealCustomer.java

RealCustomer clase pública se extiende AbstractCustomer {

   RealCustomer pública (String nombre) {
      this.name = nombre;		
   }
   
   @ Override
   Public String getName () {
      Nombre del retorno;
   }
   
   @ Override
   isNil public boolean () {
      return false;
   }
}

NullCustomer.java

NullCustomer clase pública se extiende AbstractCustomer {

   @ Override
   Public String getName () {
      volver "no está disponible en la Base de datos de los clientes";
   }

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

paso 3

Crear claseCustomerFactory.

CustomerFactory.java

CustomerFactory public class {
	
   Static final String pública [] = {nombres "Rob", "Joe", "Julie"};

   public static AbstractCustomer GetCustomer (String nombre) {
      for (int i = 0; i <names.length; i ++) {
         si (nombres [i] .equalsIgnoreCase (nombre)) {
            volver nueva RealCustomer (nombre);
         }
      }
      volver nueva NullCustomer ();
   }
}

Paso 4

UtiliceCustomerFactory,basado en el nombre del cliente que pasar para llegarRealCustomeroNullCustomerobjeto.

NullPatternDemo.java

NullPatternDemo public class {
   principales argumentos (String []) {public static void

      AbstractCustomer cliente1 = 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 ());
   }
}

paso 5

Verifique la salida.

clientes
robar
No disponible en la Base de datos de los clientes
Julie
No disponible en la Base de datos de los clientes