N-Tiers

Páginas: 8 (1938 palabras) Publicado: 11 de enero de 2013
[N-Tier] – Desarrollo en capas - Ejemplo Facturación – Parte 3
Introducción
Hemos entrado en un momento clave en la evolución del presente del articulo, aquí es donde concretamente se verán las 3 capas interactuando entre si.
El mismo fue evolucionado de artículos previos:
[N-Tier] – Desarrollo en capas - Ejemplo Facturación – Parte 1
[N-Tier] – Desarrollo en capas - Ejemplo Facturación –Parte 2
En la ultima oportunidad se había reestructurado la aplicación para que soportara 2 capas, la presentación accedía directo a la de datos para trabajar con las entidades.
Además se había agregado un proyecto que representa las entidades del negocio, el cual cruzaba todas las capas y era usado como medio de trasporte de datos entre las mismas. Este estaba implementado por medios de datasettipado para representar las entidades.
Estructura del proyecto
La nueva arquitectura agrego un proyecto adicional del tipo “Class Library”, el cual se ubicara en medio de la capa de presentación y la de datos, desacoplándolas.
Esta nueva capa representara la fachada de entrada al dominio de la aplicación, mas adelante cuando se implementen servicio para distribuir la aplicación cumplirá un papelfundamental para aislar el dominio.
También se reestructuro el proyecto de entidades, ahora ya no se usan dataset tipados para representar las entidades, estas fueron reemplazas por clases custom, es por eso que se verán  nombre como ser:  “CustomerEntity”, “InvoiceEntity”, etc.
El cambio en las entidades afecto la capa de datos, ya no se usa el DataAdapter para cargar los datatable querepresentaban a la entidad, fue necesario reemplazarlos por DataReader, estos son óptimos para la lectura secuencial de los registros devueltos por la query, y el armado de las instancias de la entidad.
La imagen representa los distintos proyectos y como se referencian entre si:

En esta nueva distribución de capas será imprescindible que la presentación se comunique siempre con la fachada de negocio,la cual abstraerá las operaciones transaccionales, y creara un único punto de entrada al sistema, si bien no se aprecia la importancia de lo dicho con este ejemplo, si a futuro fuera necesario cambiar la presentación, quizás por una web o con WPF, no se perdería todo el trabajo realizado, ya que las reglas de negocio y persistencia quedan intacticas.
Algo que seguro traer molestia al desarrollaraplicando esta técnica es que la mayoría de las operaciones serán un pasamano por la capa de negocio, esta solo tomara lo que la presentación retorne y lo devolverá ala presentación, sin efectuar ninguna operación en medio, para la mayoría de las operaciones de consulta será así, pero en otras circunstancias se vera la importancia de esta capa, sobre todo al persistir entidades complejas.
El usode entidades con clases en lugar de dataset tipados, también aporta una mejora importante, las clases permiten extender funcionalidad y relacionar entidades fácilmente, como ser el caso del calculo de Total en la entidad de facturación.
A continuación se analizarían las operaciones que han sufrido cambios durante la transformación a las 3 capas.
Grabar/Actualizar un Cliente
Durante laoperación de confirmación de la factura se notara el cambio en la técnica utilizada para persistir la información del cliente, anteriormente desde la presentación se decidía si se actualizaba o insertaba la entidad, ahora es la capa de negocio quien decide que operación debe realizarse.

[Presentación]
01.if (cliente == null)
02.cliente = new CustomerEntity();
03. 
04.cliente.FirstName =txtNombre.Text;
05.cliente.LastName = txtApellido.Text;
06.cliente.Company = txtCompañia.Text;
07.cliente.Address = txtDireccion.Text;
08.cliente.Email = txtEmail.Text;
09. 
10.cliente = CustomerBO.Save(cliente);
[Business Layer]
01.public static CustomerEntity Save(CustomerEntity customer)
02.{
03. 
04.if (CustomerDAL.Exists(customer.CustomerId))
05.return CustomerDAL.Update(customer);...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Que son los tiers
  • Yann Tiersen
  • yann tiersen
  • Yann tiersen
  • Partitura de yann tiersen
  • N N N N N N N N N N N N N N N
  • Yann tiersen
  • Cienasias de la tiersa

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS