miércoles, 30 de marzo de 2011

Implementación de Patrones de Diseño (TALLER)

Bueno adjuntaré las líneas de código en las que considero están presentes los patrones de diseño Iterator y el Interpreter.

Patrón Iterator 

System.out.println("Lista de Inventario\n"); 
  Iterator iter = imprimir.list.iterator();                //recorrer la lista de nombres de productos guardados e imprimirlos
   while (iter.hasNext())
    System.out.println("Nombre: "+iter.next());
     
  Iterator itera = imprimir.listid.iterator();
   while (itera.hasNext())        //recorrer la lista de ID's guardados e imprimirlos
    System.out.println("ID: "+itera.next());
     
  Iterator iterac = imprimir.listcant.iterator();
   while (iterac.hasNext())       //recorrer la lista de cantidades de productos guardados e imprimirlos
    System.out.println("Cantidad Disponible: "+iterac.next());
     
  Iterator iteraci = imprimir.listprice.iterator();  //recorrer la lista de precios de productos guardados e imprimirlos
   while (iteraci.hasNext())       
    System.out.println("Precio Unitario: "+iteraci.next());
 }
  
} 

Aquí se muestran los iteradores recorriendo las estructuras de datos para ver si existe información alojada para después imprimir tal información.

----------------------------------------------------------------------------------------------------------------

Patrón Interpreter 

public class Product{
  
  
  
 public String Nombre;
 private int ID,Cantidad;                   //nombramos los atributos para agregar los productos
 private float Precio;
  
  
    List list = new ArrayList();             //generamos listas de los datos que queremos almacenar
   List listid = new ArrayList();         //en el inventario
   List listcant = new ArrayList();
   List listprice = new ArrayList();
     
  
     protected void ingproducto()    //metodo donde accedemos para ingresar productos
      {
     Integer ID = new Integer(0);       //creamos un objeto para guardar los datos de tipo entero
     Float Precio = new Float(0);       //creamos un objeto para guardar los datos de tipo flotante
      
     Scanner lectura = new Scanner(System.in);
      
         System.out.println ("Ingreso De Datos Del Producto");
         System.out.println ("=============================");         //menu de opciones para dar de alta un producto
         System.out.println ("Ingrese el Nombre del Producto-> ");
         Nombre = lectura.nextLine();  //guardar el nombre
         list.add(Nombre);     //agregarlo a la lista
         System.out.println ("Ingrese el ID del Producto-> ");
         ID = lectura.nextInt();   //guardar el ID
         listid.add(ID);       //agregarlo a la lista
         System.out.println ("Ingrese la Cantidad de Productos Disponibles-> ");
         Cantidad = lectura.nextInt();   //guardar la cantidad
         listcant.add(Cantidad);    //agregarlo a la lista
         System.out.println ("Ingrese el Precio Producto-> ");
         Precio = lectura.nextFloat();     //guardar el precio
         listprice.add(Precio);          //agregarlo a la lista
          
      }  
       
  }


Como sólo encontre en la API de java la declaración de listas para tipos de datos String, cree objetos que me permitieran guardar y leer tipos de datos enteros y flotantes, esto lo como un lenguaje especializado, ya que originalmente no estuvo declarado así.

4 comentarios:

  1. ¿Qué por demonios son esas cosas "" que tienes en el segundo código? En general me confunde esta parte... Te pongo un punto por la entrada. Si la llegues a arreglar, avísame y vuelvo a checarla.

    ResponderEliminar
  2. Je, no se puede ver lo que puse entre comillas. Era un tag tipo cierre de HTML pero tenía float adentro. Jamás he visto algo así en Java antes. ¿Compila?

    ResponderEliminar
  3. Listo Doc, puse el código completo de la clase, no se me asuste, por lo que entendí es una manera de usar un lenguaje especializado y dado el caso en que al investigar la creación de listas para guardar los datos de los productos sólo encontre como crear listas para guardar datos String, y para poder leer los enteros y flotantes cree ese par de objetos para poder aceptar y generar la estructura de datos con enteros y flotantes.

    ResponderEliminar
  4. Sigo convencida que el segundo pedacito no va a compilar jamás nunca. String es con mayúscula según yo y esa cosa no es como un tag, o sea, no se cierra.

    Cuando se habla de implementación de patrones de diseño, no se refiere generalmente a simple aplicación de librerías que ya implementan a (parcial o completamente) aquellos patrones.

    Te pongo un punto :/

    ResponderEliminar