13.07.2015 Views

Análisis y Dise˜no

Análisis y Dise˜no

Análisis y Dise˜no

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

4.2.1. FrameworksDefiniciónUn framework es un conjunto de clases, interfaces y sus relacionesque proporcionan un diseño reusable para un sistema software oparte de un sistema (subsistema) de forma que sea extendido en unaaplicación final.Un framework es por tanto, un conjunto de clases y sus relaciones diseñadoespecíficamente para ser extendido y no como aplicación final. Abstrae las entidades,estados y comportamientos en un dominio. Los frameworks proporcionanunos puntos de extensión, denominados hot-spots en inglés. La idea esproporcionar toda la funcionalidad genérica que se pueda y mostrar a los desarrolladoreslas interfaces (APIs – Application Program Interface) a extenderpara que sólo tengan que centrarse en lo específico de la aplicación. El ejemplomás típico y el origen de los frameworks está en las interfaces de usuario(GUIs), donde el usuario se centra en desarrollo de la interfaz abstrayéndosede cómo se implementan los sus distintos componentes, botones, ventanas,adornos, etc. Los frameworks no necesitan tener una parte visual, por ejemploel framework para pruebas unitarias JUnit. Hoy día, los lenguajes de programaciónvan acompañados de frameworks estándar proporcionados comoparte del lenguaje, por ejemplo, Java con el JDK (Java Development Kit) oJava EE o C# con la plataforma .NET. Como ejemplo final, están surgiendomultitud de frameworks para el desarrollo de aplicaciones Web con los típicaestructura de bases de datos y operaciones sobre ella, por ejemplo ApacheStruts, Spring, etc. Generalmente, estos frameworks implementan un patrónmuy general de alto nivel conocido como MVC (Model-View-Controller).La motivación de desarrollar un framework, se da cuando este va a serreutilizado en múltiples aplicaciones dándose una reducción de costes a largoplazo, ya que el desarrollo del framework en si mismo es mucho más costosoque el desarrollo de aplicaciones ”normales”. Además, en general, los frameworkstienen una larga curva de aprendizaje, por lo que en su diseño hay quellegar a un balance entra su simplicidad y la funcionalidad que proporciona.39

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

Saved successfully!

Ooh no, something went wrong!