Identificación y Aplicación de Patrones en el Desarrollo de Software

Enviado por Programa Chuletas y clasificado en Magisterio

Escrito el en español con un tamaño de 3,05 KB

Asociación Contexto - Problema - Solución

La identificación de patrones requiere:

  • Observación - para encontrar similitudes
  • Abstracción - para descubrir la esencia del problema y descartar detalles irrelevantes

El uso de patrones tiene un carácter estadístico:

  • La identificación de patrones es un proceso empírico
  • Los patrones por sí mismos, de manera aislada, no resuelven todos los problemas posibles
  • Una colección de patrones bien elegida puede caracterizar un gran porcentaje de problemas

Favorecen la Trazabilidad

De código a diseño, de diseño a análisis:

  • Facilitan el mantenimiento
  • Pueden utilizarse en cascada (efecto Delta)
  • Ofrecen un vocabulario común para los desarrolladores
  • Son herramientas de comunicación en el diseño participativo desarrolladores - usuarios

Clasificación de Patrones según el Nivel de Abstracción

  • Patrones arquitectónicos, de análisis, conceptuales
  • Patrones de diseño
  • Patrones de programación (idioms)

Patrones Arquitectónicos, de Análisis, Conceptuales

Estructuras de organización de sistemas de información:

  • Conjunto de subsistemas predefinidos (cada uno con responsabilidades definidas) y relaciones entre estos
  • Arquitectura de tres capas, arquitectura cliente - servidor, etc.
  • Descritos en términos del dominio de aplicación (contabilidad, facturación, inventario, etc.)
  • Ayudan a identificar necesidades específicas al dominio
  • Relativamente fácil de entender por el cliente

Patrones de Diseño

Estructuras recurrentes de componentes que colaboran para resolver un problema general de diseño, en un contexto particular:

  • (Normalmente) independientes de los lenguajes de programación
  • Los primeros en aparecer
  • Aportan soluciones de diseño reutilizables
  • ¡Patrones de diseño de interfaces!

Patrones de Programación (Idioms)

  • Cómo implementar componentes o relaciones entre ellos
  • Descritos en términos de construcciones de un cierto lenguaje de programación
  • Posiblemente generación automática de código

¿Qué Patrón (o Patrones) se Puede Aplicar para un Problema Determinado?

  • Múltiples fuentes de información
  • Muchos repositorios web
  • No existe un catálogo bien estructurado
  • No existen criterios comunes para organizar los patrones existentes
  • Varios patrones describen el mismo problema

¿Cómo Adaptar el Patrón al Contexto?

  • Los patrones están expresados en términos de ciertos procesos de desarrollo, métodos, modelos
  • Se deben reinterpretar y redefinir el patrón según el método que el desarrollador mismo usa
  • La aplicación de un patrón puede sugerir patrones relacionados, pero no adecuados al problema específico
  • ¿Cuál es el siguiente patrón a aplicar?

Entradas relacionadas: