Presentación de CD4NET
CD4NET (Desarrollo de Código para NET) es una herramienta de ayuda para la creación de aplicaciones
que acceden a bases de datos DB2/400, Datagate for Windows y SQL Server mediante Datagate for SQL.
CD4NET está formado por:
Generación de códigoQué es la generación de códigoLa generación de código es simplemente código que escribe código.Un ejemplo de generación de código lo podemos encontrar en el Visual Studio, cada vez que creamos una clase la clase recién creada ya contendrá código, el cual será distinto dependiendo del tipo de clase que hayamos creado. Otro ejemplo dentro del Visual Studio lo podemos encontrar al añadir un control a un formulario de Windows, cuando volvemos al código asociado a dicho formulario podemos ver el nuevo código que se ha insertado cuando hemos añadido el control. Cuando estamos desarrollando una aplicación podemos observar que hay partes de código que se repiten exactamente, y somos capaces de identificarlas y encapsularlas en métodos o funciones para reutilizar ese código después de haberlo escrito una única vez. Otro caso distinto se produce cuando observamos que escribimos muchas veces código que sigue un mismo esquema, y que difiere de forma predecible dependiendo de determinados parámetros, pero que no es susceptible de ser encapsulado. Este tipo de código es el candidato perfecto para ser generado automáticamente. A continuación tenemos un ejemplo de código basado en patrones:
En estas dos declaraciones de propiedades solo varían el nombre y tipo de la propiedad y el nombre de su variable interna asociada, el resto es idéntico. De aquí podríamos extraer el siguiente patrón:
Esta es la forma en la que funciona la generación, se separa el patrón de la información variable. El patrón se incorpora en forma de plantillas, mientras que parte de la información variable, que llamaremos metadatos, se extrae desde cualquier fuente disponible al efecto. Creación de plantillasExisten distintos tipos de plantillas que se pueden utilizar para la creación de código, entendiendo como plantilla el mecanismo utilizado para implementar el patrón de código con el que combinaremos la parte variable para obtener el código fuente resultante.De estos tipos destacaré los tres siguientes, por ser los más habituales:
MetadatosLos Metadatos se componen con la parte de información variable que utilizamos para generar código.La fuente desde la que recuperemos esta información, así como la estructura de la información en sí, dependerá de la naturaleza del código que se vaya a generar. Normalmente la información necesaria provendrá de más de una fuente, incluyendo información recuperada desde pantallas de captura creadas al efecto, siendo necesario fusionar esta información. La información obtenida se suele almacenar en un repositorio con el objetivo de poder utilizarla en tantos procesos de generación sea necesario, tantas veces como resulte oportuno. Reglas básicasEs imprescindible tener acceso a las plantillas y poder modificarlas o sustituirlas si es necesario.La obtención de los metadatos debe ser un paso separado de la generación del código. El código se debe poder generar tantas veces como sea necesario por cualquier persona, esté o no familiarizada con el proyecto, mediante un simple clic del ratón. Es necesario disponer de mecanismos para contemplar la existencia de código escrito a mano, de manera que este esté protegido en caso de volver a lanzar el proceso de generación. En lo que respecta a su calidad, rendimiento y mantenimiento, una aplicación en la que se use código generado de forma automática debe ser superior, o al menos igual, a la misma aplicación escrita a mano. ORM (Mapa Objeto-Relacional)
El desarrollo de aplicaciones orientadas a objetos implica la reutilización de código, pero también
implica que es necesario escribir mucho código similar y repetitivo, del cual se pueden extraer
patrones, sobre todo en la capa de acceso a datos.
La creación automatizada de las clases de la capa de acceso a datos se suele realizar en base a un mapa que define la relación entre las entidades de la base de datos relacional y las clases que accederán a dichas entidades (Mapa objeto-relacional). Los pasos a seguir para construir este mapa son los siguientes:
Estructura de CD4NET
![]() ![]() Ventajas de CD4NET
|