Descargar

Programación Orientada a Aspectos – La verdad desnuda

Enviado por Pablo Turmero


Partes: 1, 2, 3

    edu.red Evolución del SW Al principio, Codigo Spaghetti.

    Tipos, bloques, procedimientos. Tipos de datos abstractos… Objetos: datos + comportamiento.

    Conceptos aplicados siempre: Abstracción, encapsulamiento & Modularidad.

    edu.red Evolución del perfil Antes, el programador => un ermitaño, programaba en el sótano. Hoy, ya es un ingeniero de SW:

    Trabajo en grupo Buen manejo de relaciones interpersonales. Comunicación

    edu.red Gráficamente Antes

    En la actualidad

    edu.red De todas maneras…. Se encapsula correctamente la funcionalidad del sistema. ¿Pero qué ocurre con los conceptos no funcionales ….? Sincronización, logging, manejo de errores, profiling, etc => no se encapsulan correctamente y quedan esparcidos por todo el sistema. Se denominan conceptos entrecruzados

    edu.red Ejemplo 1 ? Conceptos entrecruzados

    (Gp:) Clase Libro { …..

    … }

    (Gp:) Clase Socio { …..

    }

    (Gp:) Clase Alquiler {…..

    }

    * Errores

    * Seguridad

    edu.red Análisis Ejemplo Funcionalida básica: OK. Libros, Socios, Alquileres. ¿Qué pasa con el manejo de errores y de seguridad? Se esparcen por todo el sistema, creando dos problemas: Code Tangling & Code Scaterring

    edu.red Problemas Baja correspondencia. Menor Productividad. Menor Reuso. Baja calidad del código. Evolución dificultosa.

    edu.red Tiranía de la descomposición dominante Supongamos el siguiente modelo:

    Descomponer por forma, por color, por tamaño. Nos vemos obligados a elegir un modelo como principal.

    edu.red Distintos Modelos Ordenado por Forma Ordenado por Color

    edu.red Jerarquía Color-Forma Nos vemos obligados a elegir un modelo como principal. En este caso: color, y luego forma

    Partes: 1, 2, 3
    Página siguiente