View - Tesis Electrónicas Universidad de Chile
View - Tesis Electrónicas Universidad de Chile
View - Tesis Electrónicas Universidad de Chile
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
CAPÍTULO XV: GENERALIZACIÓN DE LA EXPERIENCIA EN EL<br />
DESARROLLO DE UN FRAMEWORK<br />
Los frameworks orientados al objeto (llámense simplemente frameworks),<br />
son la piedra angular <strong>de</strong> la mo<strong>de</strong>rna ingeniería <strong>de</strong>l software, su <strong>de</strong>sarrollo está<br />
ganando rápidamente la aceptación <strong>de</strong>bido a su capacidad para promover la<br />
reutilización <strong>de</strong>l código <strong>de</strong>l diseño y el código fuente (source co<strong>de</strong>). Los<br />
frameworks son los Generadores <strong>de</strong> Aplicación que se relacionan directamente<br />
con un dominio específico, es <strong>de</strong>cir, con una familia <strong>de</strong> problemas relacionados.<br />
A<strong>de</strong>más, <strong>de</strong>ben generar las aplicaciones para un dominio entero. Por lo tanto,<br />
<strong>de</strong>be haber puntos <strong>de</strong> flexibilidad que se puedan modificar los requisitos<br />
particulares para ajustarse a la aplicación.<br />
Los puntos flexibles <strong>de</strong> un framework se llaman puntos calientes (hot-<br />
spots), y son las clases o los métodos abstractos que <strong>de</strong>ben ser implementados o<br />
puestos en ejecución. Los frameworks no son ejecutables, para generar un<br />
ejecutable, uno <strong>de</strong>be "especificar en una instancia" el framework (llámese<br />
especificar en una instancia, al hecho <strong>de</strong> producir y completar un objeto llenando<br />
con valores en lugar <strong>de</strong> variables en una clase), poniendo el código específico <strong>de</strong><br />
la aplicación en ejecución para cada Hot-spots, los que, una vez que son<br />
especificados en una instancia, son usados por el framework, especialmente<br />
aquellas clases que usan el callback o repetición <strong>de</strong> la llamada (acto <strong>de</strong> repetir la<br />
autentificación <strong>de</strong>l número <strong>de</strong> usuario en caso <strong>de</strong> reconección) . En esta repetición<br />
<strong>de</strong> la llamada o callback, el código <strong>de</strong>l usuario <strong>de</strong>l servicio <strong>de</strong>clara que <strong>de</strong>sea ser<br />
llamado en la ocurrencia un <strong>de</strong>terminado evento. Entonces, el código <strong>de</strong>l<br />
proveedor <strong>de</strong>l servicio realiza la repetición <strong>de</strong> la llamada o callback con el código<br />
<strong>de</strong>l usuario <strong>de</strong>l servicio al momento <strong>de</strong> ocurrir ese <strong>de</strong>terminado evento. Por esta<br />
razón, en primera instancia, el framework se caracteriza a veces como " el viejo<br />
código que llama al nuevo código."<br />
Algunas <strong>de</strong> las características <strong>de</strong>l framework no son mutables ni tampoco<br />
pue<strong>de</strong>n ser alteradas fácilmente. Estos puntos inmutables constituyen el núcleo o<br />
kernel <strong>de</strong> él, también llamados como los puntos congelados o frozen-spots <strong>de</strong>l<br />
163