AjGenetizando una aplicación

Hace un tiempo, escribí:

Code Generation with AjGenesis in a Real Project

Generación de código en un proyecto real

En ese proyecto real, apliqué lo que puedo llamar “ajgenetizar” una aplicación. ¿Qué significa esto?

La idea básica es:

- Comenzar escribir una aplicación que funciona, que reseulva los problemas técnicos, como persistencia, validaciones, seguridad, distribución de la lógica, presentación, etc… como para tener un punto de partida sólido.
- Comenzar a descubrir las partes repetitivas: archivos de configuración, archivos de proyectos, directorios, clases de acceso a datos, clases de lógica, clases de dominio, otros archivos de texto,… 
- Extraer un modelo inicial: puede ser, descripción de las entidades, algunos parámetros técnicos como la base de datos a usar, etc..
- Escribir tareas y templates para generar una aplicación similar, automáticamente.
- Especificar claramente, cuáles de esos artefactos de texto

- son regenerados cada vez que el modelo cambia
- son generados una vez, y etnonces, evolucionan manualmente
- son creados manualmente

- Alterar el modelo, y regenerar: todo debería seguir trabajando.
- Escribir otro modelo, para producir otra aplicación, pero reusando el conocimiento adquirido (sobre la lógica de implementación, patrones, tecnología usada).
- Otra “prueba ácida”: cambiar una de las tecnologías que se usaron (de acceso a datos directo a ORM, de validación en código a un framework de validación, agregar un contenedor de Inversion of Control, etc…), y probar la nueva aplicación

Podría comenzar a escribir una serie de posts, adoptando este camino. Pero pienso que se necesita un camino más tipo “tutorial”, para el estado actual del proyecto AjGenesis (poca documentación, pocos posts y bloggers en el tema, pocos ejemplos explicados…). El camino que seguiré es: comenzar con un modelo mínimo, generar unos pocos archivos, y entonces, iterar, para refinar el modelo y el alcance de lo generado, comentando en detalle las decisiones tomadas, publicando el código de cada avance.

Nos leemos!

Angel “Java” Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez

This entry was posted in 2643, 3463, 6145. Bookmark the permalink.

3 Responses to AjGenetizando una aplicación

  1. Jose Selesan says:

    Excelente idea Ángel. Hace tiempo que tengo ganas de empezar a usar AjGenesis, pero la ausencia de documentación (más allá de que hay varios ejemplos), me frena un poco. Esa serie de post va a ayudar mucho!

    Gracias

  2. Edgar Ramos says:

    Excelente avance maestro, seguire con antencion toda informacion referente en mi camino hacia el aprendizaje continuo

    Edgar

  3. Antonino says:

    Gracias Angel! Te comento que hace un tiempo AjGenetize una aplicacion, segui estos mismos paso y resulto muy bien!

    Saludos

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>