Programacion en Capas

August 12, 2020 | Author: Anonymous | Category: N/A
Share Embed Donate


Short Description

Download Programacion en Capas...

Description

La programación por capas es un estilo de programación en el que el objetivo primordial es la separación de la lógica de negocios de la lógica de diseño; un ejemplo básico de esto consiste en separar la capa de datos de la capa de presentación al usuario Fuente: Wikipedia.

Preparando nuestro proyecto en capas Lo primero que tenemos que hacer es crear una carpeta, la llamaremos “proyectocapas”.

Ahora abrimos el Microsoft Visual Studio 2008 y crearemos nuestro proyecto en C#, llamaremos a este proyecto “Presentacion”, la cual esta será la capa de presentación.

Como observaran en el Explorador de Soluciones (Solution Explorer), solo tenemos Presentacion, entonces ahora tenemos que crear nuestras capas de negocio, entidad y dato.

Para crear nuestras tres capas faltantes, tenemos que agregar nuevas librerías de clase (Class Library), dentro de nuestro proyecto del Visual Studio. Vamos a agregar primero nuestra capa entidad:

Este paso lo repiten para agregar la capa datos y negocio

Ahora como se observa a continuación en nuestro Explorador de soluciones (Solution Explorer), contiene librería llamada entidad, esta será nuestra capa de entidad.

Cuando finalicen en agregar las siguientes capas el Explorador de soluciones se debería de mostrar de la siguiente manera:

El orden no importa, solo asegúrense de crear primero la capa presentación. Nota: Si gustan pueden eliminar el archivo clase llamado Class1.cs.

REFERENCIANDO NUESTRAS CAPAS Referencia entidad  datos Aquí se muestra como hacer la referencia:

Estamos haciendo referencia la capa entidad en la capa datos

Este paso lo repiten hasta terminar de referenciar: Referencia entidad y datos  negocio Referencia entidad y negocio  presentacion.

Como se observa a continuación la entidad esta dentro de las Regencias de datos.

Una vez terminado de referenciar todas nuestras capas, tenemos que agregar el archivo SQLHelper.cs a la capa de datos. Para esto solo arrastramos el archivo hacia nuestra capa datos.

Listo ahora tenemos todo preparado para empezar a programar en capas.

Consulta en Capas Antes de empezar, crearemos un StoreProcedure que solo realice una lista de todos nuestros empleados de la tabla Employees de la base de datos Northwind.

OJO: Esto el StoreProcedure, deberá ser creado en SQL Server.

Capa datos En la capa datos agregamos una clase EmpleadoBD, y agregamos las siguientes líneas de código: using using using using

entidad; System.data.Sqlclient; System.data; Microsoft.ApplicationBlocks.Data;

public class EmpleadoBD { SqlConnection cn=new SqlConnection(”Aqui tu cadena de conexion”); public DataSet ListarEmpleadoBD() { return SqlHelper.ExecuteDataset(cn,”listar_empleado”); } }

Capa Negocio En la capa negocio agregamos una clase llamada EmpleadoB, y agregamos las siguientes líneas de código: using using using using

System.Data; System.Data.SqlClient; Datos; Entidad; public class EmpleadoB { datos.EmpleadoBD ObjEmpleado=new datos.EmpleadoBD(); public DataSet ListarEmpleadoB() { return ObjEmpleado.ListarEmpleadoBD(); } }

Capa Presentación (En el formulario) using using using using

System.Data; System.Data.SqlClient; Negocio; Entidad;

negocio.EmpleadoB objListarEmpleadoB=new EmpleadoB(); private void button1_Click(object sender, System.EventArgs e) { DataSet ds= new DataSet(); ds=objListarEmpleadoB.ListarEmpleadoB(); dataGridView1.DataSource=ds.Tables[0]; ds.Dispose(); }

* Un ejemplo de cómo mostrar tus datos en un comboBox: { DataSet ds = new DataSet(); ds = objListarEmpleadoB.ListarEmpleadoB(); comboBox1.DataSource = ds.Tables[0]; comboBox1.DisplayMember = "EmployeeID"; comboBox1.ValueMember = "EmployeeID"; ds.Dispose(); }

Capa Entidad En esta capa no hacemos nada por ahora, si gustan le agregan una clase llamada EmpleadoE public class EmpleadoE { }

Nuestro proyecto debería de tener el siguiente aspecto al concluir todo.

Cuando ejecutemos nuestro programa, tendrá que visualizar todos los Employees (empleados) cuando hagamos clic en el botón Listar.

Registro de datos mediante capas Antes de empezar, debemos crear un Store Procedure en SqlServer, en la cual inserte información a una tabla usando parámetros. El Store procedure se llama: sp_regusuario

Capa Entidad En esta capa agregamos una clase y la llamamos regusuario y luego vamos a definir primero los atributos de la clase y luego vamos a encapsularlos. public class regusuario { //atributos de una clase private string mcodigo; private string mnombre; private int medad; private int mtelefono; private string mclave; //implementar el encapsulamiento public string codigo { get { return this.mcodigo; } set { this.mcodigo = value; } } public string nombre { get { return this.mnombre; } set { this.mnombre = value; } }

public int edad { get { return this.medad; } set { this.medad = value; } } public int telefono { get { return this.mtelefono; } set { this.mtelefono = value; } } public string clave { get { return this.mclave; } set { this.mclave = value; } } }

Capa Datos Aquí haremos la conexión con la base de datos y con el SqlHelper llamaremos al store procedure (sp_regusuario), para que envié los parámetros la cual vamos a definirlos en esta capa, recomiendo que el nombre de los parámetros deben ser igual al los atributos de la clase. Agregamos una clase y la llamamos RegistrarUsu using using using using

Entidad; System.Data; System.Data.SqlClient; Microsoft.ApplicationBlocks.Data;

public class RegistrarUsu { SqlConnection cn = new SqlConnection("tu cadena de conexion"); public Boolean registrarusuarioBD(Entidad.regusuario objmanusuario)

{ string codigo; string nombre; int edad; int telefono; string clave; codigo = objmanusuario.codigo; nombre = objmanusuario.nombre; edad = objmanusuario.edad; telefono = objmanusuario.telefono;

clave = objmanusuario.clave; try { SqlHelper.ExecuteNonQuery(cn,"sp_regusuario", codigo, nombre, edad, telefono, clave); return true; } catch { return false; } } }

Capa Negocio Aquí agregamos una clase y la llamamos NEmpleado, en la cual vamos a crear un objeto (objregusu) haciendo referencia de la capa Datos de la clase RegistrarUsu. public class NEmpleado { Datos.RegistrarUsu objregusu = new Datos.RegistrarUsu(); public Boolean registrarusuario(Entidad.regusuario objmanusuario)

{ if (objregusu.registrarusuarioBD(objmanusuario)) { return true; } else { return false; } } }

Capa Presentación (En el formulario) using using using using

System.Data; System.Data.SqlClient; Negocio; Entidad; private void button2_Click(object sender, EventArgs e) { Entidad.regusuario objmantenimiento = new Entidad.regusuario();

objmantenimiento.codigo = textBox1.Text; objmantenimiento.nombre = textBox2.Text; objmantenimiento.edad = int.Parse(textBox3.Text); objmantenimiento.telefono = int.Parse(textBox4.Text); objmantenimiento.clave = textBox5.Text; if (objListarEmpleadoN.registrarusuario(objmantenimiento)) { MessageBox.Show("Guardo con Exito", "Registro y listar");

this.listarusuario(); } else { MessageBox.Show("Error", "Registro y listar");

} }

* El listarusuario() es un listar datos en un GridView; por lo cual estos pasos estan explicados esta en el tema anterior (consulta en capas). public void listarusuario() { DataSet ds = new DataSet(); ds = objListarEmpleadoN.ListarEmpleadoN(); dataGridView1.DataSource = ds.Tables[0]; ds.Dispose(); }

Este manual demuestra un estilo de programación en capas, en la cual recalco que no es el único estilo, existen muchos estilos de cómo programar en capas. Atte. El Autor.

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF