Programación en Capas Java

January 1, 2017 | Author: Anonymous | Category: Java
Share Embed


Short Description

Programación en Capas. Hoy haremos un tema que es bastante interesante y muy usado en el desarrollo de software. Realiz...

Description

Programación en Capas Hoy haremos un tema que es bastante interesante y muy usado en el desarrollo de software. Realizaremos un ejemplo de la programación orientada a capas. La programación orientada a capas es una técnica que se usa para el desarrollo de software el cual permita que dicho software sea escalable, mantenible, consistente y que tenga una aspecto mucho más profesional de desarrollo, no como la clásica programación secuencial. La programación orientada a capas se caracteriza por ser un tipo de diseño en el desarrollo de software mediante clases las cuales se separan generalmente en : -La capa de datos. -La capa de negocios. -La capa de presentación.

Bien, como se sabe que lo que Ud. quiere es la parte técnica más no la parte teórica,  pasaremos a realizar el ejemplo de la programación orientada a capas. Tener en cuenta que la programación en capas generalmente va de la mano con la  programación orientada a objetos para la optimización de este.

Estructura del proyecto Creamos el proyecto, luego creamos 4 paquetes uno para la capa de datos, otro para la capa de negocio, otro para la capa de presentación y el último para los encapsulamientos. Tener en cuenta que para poder trabajar de forma más ordenada es mejor separar la lógica de negocio de los datos, así mismo sería bueno separar componentes aislados al código fuente en otro paquete como las imágenes, formato de reportes y otros. Ahora que tenemos los 4 paquetes, creamos en cada uno de ellos la clase respectiva para trabajar. En este caso haremos un ejemplo que consista en manejar mediante la Programación en capas la inserción y lectura de los datos de una persona. Para dicho caso en el paquete de encapsulamiento creamos una clase TPersona, en la capa de datos (Paquete que se creo para los datos) creamos otra clase DbTPersona, en la capa de presentación (Paquete para los formularios) creamos un formulario frmPersona y e la capa de negocio (Paquete para negociar los datos) creamos la clase NegocioFrmPersona. Debemos tener en cuenta que en la Programación sobre capas, generalmente se debe crear un encapsulado y una clase de la capa de datos por cada tabla existente en nuestra base de datos y un negocio por cada formulario el cual será quien maneje toda la negociación de datos entre las capas de datos que se usen en el formulario y la capa de presentación.

También recordar que en la capa de datos se puede crear una clase exclusivamente para las consultas relacionales ya que la programación orientada a objetos que va de la mano con la  programación en capas no permite encapsular este tipo de consultas. Como en nuestro caso no tenemos una base de datos, simularemos dicho caso con un formulario que tenga los campos para registrar una persona que lo pasará a un JTable y luego tendremos un botón que permita leer tales datos almacenados en nuestro JTable. La estructura de nuestro árbol con las clases creadas debería quedar de la siguiente manera.

Diseño del formulario Con lo mencionado anteriormente, nuestro formulario debería quedar de la siguiente forma.

También recordar que en la capa de datos se puede crear una clase exclusivamente para las consultas relacionales ya que la programación orientada a objetos que va de la mano con la  programación en capas no permite encapsular este tipo de consultas. Como en nuestro caso no tenemos una base de datos, simularemos dicho caso con un formulario que tenga los campos para registrar una persona que lo pasará a un JTable y luego tendremos un botón que permita leer tales datos almacenados en nuestro JTable. La estructura de nuestro árbol con las clases creadas debería quedar de la siguiente manera.

Diseño del formulario Con lo mencionado anteriormente, nuestro formulario debería quedar de la siguiente forma.

Código Fuente La Clase TPersona /* * To change this template, choose Tools | Templates * and open the template in the editor. */  package ENCAPSULAMIENTO; /** * * @author kaaf */  public class TPersona {  private String nombre;  private String apellidoPaterno;  private String apellidoMaterno;  private String dNI;  private String direccion;  private int edad;  private char sexo;  public void SetNombre(String nombre) { this.nombre=nombre; }  public String GetNombre() { return this.nombre; }  public void SetApellidoPaterno(String apellidoPaterno) { this.apellidoPaterno=apellidoPaterno; }  public String GetApellidoPaterno() { return this.apellidoPaterno; }

 public void SetApellidoMaterno(String apellidoMaterno) { this.apellidoMaterno=apellidoMaterno; }  public String GetApellidoMaterno() { return this.apellidoMaterno; }  public void SetDNI(String dNI) { this.dNI=dNI; }  public String GetDNI() { return this.dNI; }  public void SetDireccion(String direccion) { this.direccion=direccion; }  public String GetDireccion() { return this.direccion; }  public void SetEdad(int edad) { this.edad=edad; }  public int GetEdad() { return this.edad; }  public void SetSexo(char sexo) { this.sexo=sexo; }  public char GetSexo()

{ return this.sexo; } }

La Clase DbTPersona

/* * To change this template, choose Tools | Templates * and open the template in the editor. */  package CAPADEDATOS; import ENCAPSULAMIENTO.TPersona; import java.util.ArrayList; import java.util.List; import javax.swing.JTable; import javax.swing.table.DefaultTableModel; /** * * @author kaaf */  public class DbTPersona {  public static DefaultTableModel Registrar(TPersona tPersona, JTable miTabla) { DefaultTableModel modeloDeDatosTabla=(DefaultTableModel)miTabla.getModel(); Object[] datosRegistro= { tPersona.GetNombre(), tPersona.GetApellidoPaterno(), tPersona.GetApellidoMaterno(), tPersona.GetDNI(), tPersona.GetDireccion(), tPersona.GetEdad(), tPersona.GetSexo() }; modeloDeDatosTabla.addRow(datosRegistro); return modeloDeDatosTabla; }

 public static List LeerTodo(JTable miTablaDeDatos) { List listaTPersona=new ArrayList(); for(int i=0;i
View more...

Comments

Copyright © 2017 DATENPDF Inc.