DestrActions: MVC incorporado en Bizarro

DestrActions: Aplicación de MVC
En varios lenguajes como Java o PHP existen diversos frameworks que ayudan a implementar el patrón MVC. Muchos de ellos están basados en el framework Jakarta Struts.
Struts permite mapear URLs a clases de tipo Action que pueden realizar cualquier tipo de operación antes de despachar la URL deseada.
En principio, era necesario mapear una URL a un único Action. Con esto se tenía una inmensa cantidad de Actions, lo cual resulta impráctico. Con las versiones posteriores de Struts, fue posible asociar más de una URL a un mismo Action a través del uso de un parámetro que indicaba qué método de la clase Action debía ejecutarse.
Bizarro llevó esta característica al extremo (basado en principios de Bizarro Extreme Programming o BXP). Incorpora en su lenguaje el manejo de MVC al estilo Struts, con la ventaja de que sólo hace falta un Action (llamado DestrAction) que maneja toda la aplicación.
No hace falta configurar nada. Sólo implementar una clase que extienda de DestrAction, y el framework nativo se encarga de eso.
Bizarro cuenta con un preprocesador (parseador de código fuente previo a la compilación) que soporta hasta 10.000.000 de líneas de código por clase, lo cual en principio alcanza para codificar al DestrAction.
De todas maneras, se está pensando en incrementar esta capacidad, puesto que si dentro del DestrAction se aplica el patrón "Repeat" (será explicado en otra ocasión), el código puede alcanzar fácilmente las 100.000.000 de líneas en una aplicación entreprise.
En resumen, con esta característica, Bizarro permite:
- Aplicar fácilmente el patrón MVC
- Eliminar el uso de excesivas clases Action, encapsulándolas en un DestrAction
- Alivianar la tarea del ClassLoader (sólo tiene que cargar una clase principal)
- Permitir que los desarrolladores no tengan que conocer numerosas clases Action (sólo necesitan conocer DestrAction)
- Tener gran parte de la aplicación en una clase robusta de miles de líneas (total las compila el compilador, no el humano)
- El tamaño de la aplicación resulta ínfimo al lado del tamaño al que crecerá la clase DestrAction

2 Comments:
Program DestruirAlMundo {
int main (char * [])
{
return new DestrAction();
// y fuma...
}
}
eeeh me mesclaste C y PASCAL papi!!!
Post a Comment
<< Home