martes, 21 de septiembre de 2010

Algunos conceptos sobre patrones e Ingeniería de Software

Este artículo expone algunas definiciones importantes acerca de patrones e ingeniería de software.

“Cada patrón describe un problema que ocurre una y otra vez en nuestro entorno, para describir después el núcleo de la solución a ese problema, de tal manera que esa solución pueda ser usada más de un millón de veces” [Alexander - A Pattern Language Towns/Building/Construction]

Concepto de patrón de diseño:

"Una arquitectura orientada a objetos bien estructurada está llena de patrones. La calidad de un sistema orientado a objetos se mide por la atención que los diseñadores han prestado a las colaboraciones entre sus objetos. Los patrones conducen a arquitecturas más pequeñas, más simples y más comprensibles". [Grady Booch]

Los patrones de diseño son descripciones de clases cuyas instancias colaboran entre sí. Cada patrón es adecuado para ser adaptado a un cierto tipo de problema. Para describir un caso debemos especificar:
  • Nombre
  • Propósito o finalidad
  • Sinónimos (otros nombres por los que puede ser conocido)
  • Problema al que es aplicable
  • Estructura (diagrama de clases)
  • Participantes (responsabilidad de cada clase)
  • Colaboraciones (diagrama de interacciones)
  • Implementación (consejos, notas y ejemplos)
  • Otros patrones con los que está relacionado

[Extraído desde: Design Patterns - Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides]

No hay comentarios:

Publicar un comentario

Envíe sus comentarios, dudas, sugerencias, críticas. Gracias.