20.01.2013 Views

View - Tesis Electrónicas Universidad de Chile

View - Tesis Electrónicas Universidad de Chile

View - Tesis Electrónicas Universidad de Chile

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!