Patrones de diseño: introducción

In: patrones de diseño

27 nov 2009

lego piezasLos patrones de diseño son muy interesantes para los programadores, ya que nos ofrecen soluciones a problemas comunes y cuotidianos a la hora de diseñar una aplicación. Existen infinidad de casos en que el problema sigue el mismo patrón, solo cambia el contexto; un patrón de diseño te propone una solución a este tipo de problemas.

La manera de utilizarlos depende de dos factores: comprender correctamente cuando se pueden usar y tenerlos presentes a la hora de diseñar. Lo primero se consigue habiéndolos estudiado y puesto en práctica en diferentes contextos. Lo segundo, que también incluye su dificultad, es la capacidad de encontrarse con un problema, y ser capaz de relacionarlo con un patrón de diseño que conozcas.

Las características de un patrón son tres:

  • Contexto: situación en la que se presenta el problema de diseño.
  • Problema: descripción del problema a resolver, y enumeración de las fuerzas a equilibrar (requisitos no funcionales como eficiencia, portabilidad, cambiabilidad, …).
  • Solución: conjunto de medidas que se han de tomar, como crear alguna clase, atributo o método, nuevos comportamientos entre clases, …

Existe un amplio catálogo de , pero los verdaderamente importantes son unos 20. Se pueden clasificar por su nivel de abstracción, aunque principalmente son clasificados según el criterio de Gang of Four (un libro sobre ):

  • Patrones creacionales: Abstract Factory, Factory Method, Singleton, …
  • Patrones estructurales: Adapter, Facade, Bridge, …
  • Patrones de comportamiento: Observer, State, Iterator, …

Quiero hacer una aclaración: hay que diferenciar los a los patrones arquitectónicos. Estos últimos son patrones como patrón de tres capas (MVC) o el patrón orientado a objetos. Sabiendo la especificación del software, los requisitos no funcionales y la tecnología que se va a usar, se pueden aplicar los patrones arquitectónicos que nos interesen. Y a medida que se vaya diseñando la aplicación, surgirán los problemas en los que podremos aplicar los .

Haciendo este artículo he descubierto los “Antipatrones de diseño“, que son unos que siempre dan una mala solución al problema.

Espero poder adentrarme más en este campo, y poder explicar algunos patrones interesantes. Un libro muy recomendable para aprender patrones es: “Head First Design Patterns“. Los muestra con esquemas, ejemplos claros, analogías, gráficos, etc. A ver si estas Navidades cae ;)

Head First Design Patterns Book

Head First Design Patters – Google Books

No hay entradas relacionadas.

Formulario de Comentario

Página 1 de 11

Sobre este blog

Este blog informático pretende ser un blog de notas o portafolio de información variada: trozos de código, descubrimientos, notas sueltas, ... Para tenerla a mano, y ser compartida.