Cuándo usar patrones de software en arquitectura

Clase 19 de 24Curso de Fundamentos de Arquitectura de Software

Resumen

Al diseñar soluciones como arquitecto de software, los patrones de software se convierten en herramientas esenciales porque brindan soluciones estandarizadas y fácilmente explicables. Estos patrones permiten aprovechar conocimientos previos y reducir así la carga cognitiva asociada al diseño de software complejo.

¿Qué son los patrones de software y por qué son importantes?

Los patrones de software funcionan como recetas específicas, desarrolladas para dar respuesta clara a determinados contextos y problemas. Su importancia radica en su capacidad para facilitar el desarrollo, ayudando a comunicar soluciones comunes sin necesidad de inventar métodos nuevos constantemente.

Además, es vital considerar que los patrones de software están basados en paradigmas y principios particulares. Por ello, al integrarlos en una arquitectura, debemos asegurarnos de que sean compatibles con los paradigmas que ya utilizamos.

¿Qué necesitas saber antes de aplicar patrones de software?

Para aprovechar eficientemente los patrones de software, ten en cuenta estos puntos esenciales:

¿Entiendes bien el contexto del patrón?

Comprender claramente el contexto de un patrón es indispensable, ya que aplicar un patrón fuera de su contexto original puede producir resultados indeseados. Por ejemplo, patrones ideados para sistemas de entretenimiento en vehículos no siempre son aplicables directamente en otro tipo de dispositivos.

¿La complejidad del patrón se ajusta a tu modelo?

Recuerda que la aplicación de patrones puede volverse tan compleja como el modelo mismo que utilizas, pudiendo requerir quizás un lenguaje específico de dominio. Un ejemplo común de esto es en arquitecturas orientadas a microservicios, donde puedes encontrar patrones aplicados a múltiples niveles:

  • Microservicios en sí.
  • Estructuración interna del código.
  • Infraestructura para su despliegue.

¿La antigüedad del patrón afecta su utilidad?

Los patrones no tienen fecha de caducidad. La antigüedad de su descripción original no limita su utilidad; así, encontramos patrones como el MBC (Model-View-Controller), vigentes aún tras décadas de su creación, y patrones de integración que operan principalmente en interacciones entre distintos sistemas.

¿Necesitas siempre usar patrones de software?

No es obligatorio incluir patrones en todas las soluciones. Algunos tipos de arquitecturas, como las orientadas a eventos, presentan estructuras propias suficientemente robustas, donde bastaría una división básica de elementos: productor, consumidores y bus de eventos. En ocasiones, menos puede ser más claro y manejable.

Por último, la elección de patrones debe guiarse por un estudio minucioso tanto del problema que resuelven como la implementación canónica del mismo. Asegúrate de verificar también las implementaciones que dependan de herramientas concretas para así adaptarlas correctamente a tu arquitectura.

Te invitamos a compartir en los comentarios algún patrón que consideres aplicable en tus diseños y los paradigmas o principios tras ese patrón.