19 junio 2009

Patrones de Diseño

Como programadores diariamente estamos resolviendo problemas, a menudo, estos problemas los resolvemos de forma artesanal, no digo que este mal la forma de resolverlo, el problema esta en que invertimos tiempo en pensar en el “Como” lo resolveremos, además de que si queremos modificar o reutilizar este código, este se nos puede complicar porque nunca analizamos o diseñamos muy bien la solución del problema, y sumariza que si trabajamos en equipo, que es muy a menudo, tendremos que explicarle a nuestros compañeros como resolvimos nuestro problema.

Los patrones de diseño tratan la mayoria de estos problemas comunes que se nos presentan como programadores y que fuerón previamente resueltos, provados y documentados de forma exitosa por personas u organizaciones que anteriormente se enfrentarón a estos incovenientes.

En esta ocacion entraremos en el detalle de estos patrones de diseño, los cuales nos simplificaran la forma en el que crearemos y deseñaremos software. Los detalles de las implementaciones son llamadas estrategias.

El grupo de GoF clasificaron los patrones en 3 grandes categorías basadas en su PROPÓSITO: creacionales, estructurales y de comportamiento.


  • Creacionales: Patrones creacionales tratan con las formas de crear instancias de objetos. El objetivo de estos patrones es de abstraer el proceso de instanciación y ocultar los detalles de cómo los objetos son creados o inicializados.
  • Estructurales: Los patrones estructurales describen como las clases y objetos pueden ser combinados para formar grandes estructuras y proporcionar nuevas funcionalidades. Estos objetos adicionados pueden ser incluso objetos simples u objetos compuestos.
  • Comportamiento: Los patrones de comportamiento nos ayudan a definir la comunicación e iteración entre los objetos de un sistema. El propósito de este patrón es reducir el acoplamiento entre los objetos.
  • No hay comentarios.: