0% encontró este documento útil (0 votos)
6 vistas3 páginas

Conceptos Clave de Frameworks y Patrones

El documento explica conceptos clave sobre frameworks y patrones en el desarrollo de software, describiendo frameworks como estructuras reutilizables y adaptables, y patrones como soluciones probadas para problemas comunes. También se abordan diferentes tipos de frameworks, como de aplicación, dominio y soporte, así como conceptos como callbacks, hooks, hot spots y frozen spots. Finalmente, se diferencia entre white box y black box frameworks, así como entre called y calling frameworks, utilizando analogías intuitivas para facilitar la comprensión.

Cargado por

Emiliano Arceo
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
6 vistas3 páginas

Conceptos Clave de Frameworks y Patrones

El documento explica conceptos clave sobre frameworks y patrones en el desarrollo de software, describiendo frameworks como estructuras reutilizables y adaptables, y patrones como soluciones probadas para problemas comunes. También se abordan diferentes tipos de frameworks, como de aplicación, dominio y soporte, así como conceptos como callbacks, hooks, hot spots y frozen spots. Finalmente, se diferencia entre white box y black box frameworks, así como entre called y calling frameworks, utilizando analogías intuitivas para facilitar la comprensión.

Cargado por

Emiliano Arceo
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Conceptos de Frameworks y Patrones

Framework
Un framework es como un armazón de Lego con piezas preensambladas que
puedes usar para construir diferentes cosas. Es un conjunto integrado de
componentes que trabajan juntos para ofrecer una estructura reutilizable,
adaptable y consistente para desarrollar una familia de aplicaciones.
Por ejemplo, si estás creando un edificio, el framework sería el esqueleto o
base que ya viene con pilares, techos y paredes diseñados, pero que puedes
personalizar según lo que necesites.

Patrones
Los patrones son soluciones probadas para problemas comunes en un
contexto específico. Imagina que siempre tienes que cruzar un río. Un patrón
sería como una idea probada: construir un puente, usar un ferry o colocar
piedras grandes para saltar. Cada solución depende del entorno (el contexto) y
del problema que intentas resolver.

Bibliotecas de clase
Una biblioteca de clases es como un kit de herramientas con tipos de datos
abstractos (ADT), que son las plantillas para manejar datos complejos. Piensa
en ellas como las distintas brocas de un taladro: cada una sirve para un
propósito específico, pero juntas hacen que resolver problemas sea más fácil.

Frameworks (en detalle)


Los frameworks pueden considerarse como "semi-aplicaciones" reutilizables.
Son como una casa prefabricada: ya tienen cimientos y paredes, pero puedes
adaptarlas agregando muebles o pintando las paredes de otro color. Te dan un
avance significativo en tu proyecto, ahorrándote tiempo al construir desde
cero.

Callbacks
Los callbacks son los puntos de conexión en un framework donde tus
componentes personalizados pueden comunicarse con las partes genéricas
del framework. Es como un enchufe eléctrico en la pared: la corriente siempre
está ahí (el framework), pero tú decides qué aparato enchufar (tu componente)
para usarla.
Hooks
Los hooks son como puntos de anclaje en un framework que puedes usar para
añadir funcionalidad específica. Imagina una mochila con varios puntos
donde puedes enganchar llaveros, botellas o herramientas según lo que
necesites para tu aventura.

Hot Spots
Los hot spots son áreas dentro de un framework diseñadas para ser
personalizables. Es como una pared de ladrillos donde algunos ladrillos están
diseñados para ser removidos y reemplazados con decoraciones o ventanas.
Cada hot spot puede incluir múltiples hooks para facilitar la personalización.

Frozen Spots
Los frozen spots son los elementos de un framework que no cambian y son
comunes para todas las aplicaciones que lo usan. Son como los cimientos de
un edificio: no se tocan ni modifican porque son fundamentales para
mantener la estabilidad del framework.

Tipos de Frameworks
• De aplicación (funcionalidad horizontal): Como una herramienta multitarea
que abarca diferentes aspectos de una aplicación. Ejemplo: Frameworks para
interfaces gráficas.
• De dominio (funcionalidad vertical): Especializados en un área concreta,
como frameworks para juegos o comercio electrónico.
• De soporte (funcionalidad básica): Brindan capacidades fundamentales,
como gestión de bases de datos o seguridad. Es como un motor que puede ser
usado en diferentes vehículos.

White Box Frameworks


Un white box framework utiliza la herencia para personalizar el framework. Es
como un molde que puedes modificar al agregar capas encima, manteniendo
su forma básica.

Black Box Frameworks


Un black box framework se basa en la composición y los componentes ya
existentes para personalizarlo, en lugar de cambiar su estructura interna. Es
como armar muebles modulares donde simplemente eliges las piezas que
necesitas y las ensamblas.
Called Frameworks
En estos frameworks, tú tomas la iniciativa. Llamas a sus funciones cuando
las necesitas, como usar un horno para hornear pan: tú decides cuándo
encenderlo y por cuánto tiempo.

Calling Frameworks
En estos frameworks, el control lo lleva el framework. Es como un asistente
personal que te llama para decirte qué necesitas hacer a continuación. En
lugar de que tú lo controles, el framework ejecuta el flujo y te pide que añadas
los detalles donde sean necesarios. Un ejemplo típico sería un framework para
videojuegos que gestiona el bucle principal, pero te permite definir cómo
responde el juego a los eventos.

Este glosario busca simplificar el entendimiento de conceptos técnicos


usando comparaciones intuitivas. La idea es que, incluso sin experiencia
técnica, puedas visualizar cómo estos términos se aplican al desarrollo de
software.

También podría gustarte