Академический Документы
Профессиональный Документы
Культура Документы
1 de 6
Programacion Visual II
OBJETOS DE NEGOCIOS. Para intercambiar informacin entre la capa de acceso a datos y la de lgica de negocio se utilizarn los objetos de negocio. Esta tcnica est fundamentada en el patrn DTO (Data Transfer Object). Un objeto de negocio se construye a partir de una clase que nicamente contiene propiedades, que se correspondern en la mayora de los casos con los campos que conforman cada tabla. Su misin principal es servir de contenedor destinado exclusivamente a la transferencia de informacin. Cada objeto de negocio de la aplicacin lleva asociada una clase destinada a almacenar una coleccin de objetos de ese mismo tipo, para lo cual se aprovecharn las colecciones genricas que nos proporciona .NET.
2 de 6
Programacion Visual II
FillDataRecord: Este mtodo ser definido en cada una de las clases de la capa DAL. Crea una instancia de un objeto de negocio; en este caso un objeto Noticia. En cada campo de esta instancia se introduce el valor correspondiente obtenido utilizando la interfaz IDataRecord. Al final devuelve el objeto de negocio. El cdigo de este mtodo simplemente copia los datos del lector en los campos privados del objeto de negocio haciendo uso de los mtodos Get* apropiados de IDataRecord. Estos mtodos Get* reciben como parmetro el ndice en base cero de la columna del IDataRecord. Para hacer ms fcil la comprensin y el mantenimiento del cdigo usaremos el mtodo GetOrdinal para traducir el nombre de la columna de la tabla en su correspondiente ndice.
private static Noticia FillDataRecord(IDataRecord myDataRecord) { Noticia minoticia = new Noticia(); minoticia._Id_Noticia = myDataRecord.GetInt32(myDataRecord.GetOrdinal("Id_Noticia")); minoticia._Ttulo = myDataRecord.GetString(myDataRecord.GetOrdinal("Ttulo")); minoticia._Resumen = myDataRecord.GetString(myDataRecord.GetOrdinal("Resumen")); minoticia._Cuerpo = myDataRecord.GetString(myDataRecord.GetOrdinal("Cuerpo")); minoticia._Fecha = myDataRecord.GetDateTime(myDataRecord.GetOrdinal("Fecha")); minoticia._Imagen = myDataRecord.GetString(myDataRecord.GetOrdinal("Imagen")); return minoticia; }
Dentro de los mtodos Get* se utilizar: GetInt32 para enteros, GetString para cadenas de caracteres y GetDateTime para objetos del tipo DateTime. Cuando las propiedades son columnas que no admiten valores nulos en la base de datos no es necesario comprobar en este mtodo si los valores son nulos o no.
3 de 6
Programacion Visual II
Estar formada por los objetos de negocio (BO, business object) y las clases encargadas de trabajar con dichos objetos (clases BLL), aunque stos pueden ser considerados como una entidad independiente. Cada clase BLL contiene los mismos mtodos que su clase anloga en la capa inferior (clase DAL). Estos mtodos realizarn funciones de validacin y de filtrado de datos antes de llamar a sus mtodos parejos en la capa de acceso a datos. Para una mayor organizacin estas clases sern agrupadas en un mismo espacio de nombres.
Implementacin de las clases de la capa BLL. Para poder vincular las diferentes clases BLL de la capa de lgica de negocio con un objeto ObjectDataSource, se debe aadir el siguiente atributo antes de la declaracin de la clase.
[DataObjectAttribute] public class BLLNoticia { }
El atributo DataObjectAttribute se utiliza para identificar si un objeto es adecuado para que lo utilice un objeto ObjectDataSource y se encuentra dentro del espacio de nombres System.ComponentModel. Ademas permite describir el tipo de operacin que realiza un mtodo de una clase marcada con el atributo DataObjectAttribute y si es el mtodo de datos predeterminado se har uso de la clase DataObjectMethodAttribute. En el siguiente ejemplo, el mtodo Delete se marca como mtodo predeterminado (true) para la operacin de datos Delete. La definicin de estos mtodos deber seguir una estructura anloga a la siguiente:
[DataObjectMethodAttribute9(DataObjectMethodType.Delete, true)] publi static bool Delete(Noticia miNoticia) { return DALNoticia.Delete(miNoticia._Id_Noticia); }
El mtodo Delete recibe como parmetro un objeto de negocio de tipo Noticia y llama al mtodo Delete de la capa de acceso a datos pasndole como parmetro el identificador de dicho objeto.
4 de 6
Programacion Visual II
Devuelve un booleano indicando si se ha realizado satisfactoriamente o no la operacin. Como se observa, ste ser el mtodo de datos predeterminado para la operacin Delete que expondr el objeto de datos.
CAPA DE PRESENTACIN
La capa de presentacin es la ms elevada de las que componen la estructura de 3 capas de la aplicacin. Bajo ella subyacen la de lgica de negocio y la de acceso a datos. Constituye la parte visible de cara al usuario ya que ser la parte con la cual se ver obligado a interactuar. La capa de presentacin se compondr de varias pginas Web (.aspx), algunas de ellas formadas a su vez por diferentes controles de usuario Web (.ascx).
5 de 6
Programacion Visual II
6 de 6