Introducción a design patterns

Páginas: 12 (2869 palabras) Publicado: 10 de octubre de 2009
Introducción a Design Patterns

Por Fernando Dodino Nicolás Passerini

Versión 2.1 Mayo 2007

Introducción a Design Patterns

Indice
¿QUÉ ES UN DESIGN PATTERN? ........................................................................................................3 ¿QUÉ NO ES UN DESIGNPATTERN?..................................................................................................4 LIBRERÍA, FRAMEWORK Y PATTERN ........................................................................................................4 ¿POR QUÉ DESIGN PATTERNS? .........................................................................................................6 ¿POR QUÉ DAMOS DESIGN PATTERNS EN TADP?.....................................................................................7¿CÓMO APLICAR LOS DESIGN PATTERNS?...................................................................................8 CÓMO NO USARLOS (CONSEJO DE GAMMA)..............................................................................................9 ¿CUÁNDO APLICAR DESIGN PATTERNS? .....................................................................................10

2

Introducción aDesign Patterns

Y Él le dijo al Programador: «Yo soy el Gamma y el Omega. Sube a encontrarte conmigo en el monte, y quédate allí. Voy a darte las tablas con la ley y los patterns que he escrito para guiarlos en la vida.» Éxodo 24:11-13

¿Qué es un Design Pattern?
Un Design Pattern: • “es una regla que expresa la relación entre un contexto, un problema y una solución” (Christopher Alexander,creador de Patterns para la Ingeniería Civil) • "Each pattern describes a problem which occurs over and over again in our environment, and then describes the core of the solution to that problem, in such a way that you can use this solution a million times over, without ever doing it the same way twice" (nuevamente Christopher Alexander, según el libro Design Patterns del Gang of Four –algo así comolos cuatro fantásticos: Erich Gamma, Richard Helm, Ralph Johnson, y John Vlissides-). A partir de aquí nos referiremos a esta bibliografía como el libro de Gamma.

• •

“Una solución (probada) a un problema en un determinado contexto” (Erich Gamma) “A Design Pattern names, asbtracts and identifies the key aspects of a common design structure that make it useful for creating a reusableobject-oriented design.” (nuevamente, Erich Gamma dixit)

Partiendo de estas definiciones, definimos qué debe contener un pattern: Un nombre que describe el problema. Esto nos permite: Tener un vocabulario de diseño común con otras personas. Un pattern se transforma en una herramienta de comunicación con gran poder de 1 simplificación Por otra parte, logramos un nivel de abstracción mucho mayor. De lamisma manera que una lista doblemente enlazada define cómo se estructura el tipo de dato y qué operaciones podemos pedirle, el pattern trabaja una capa más arriba: define un conjunto de objetos/clases y cómo se relacionarán entre sí (resumiéndolo en una palabra). Ya existían conceptos similares en la programación estructurada: el apareo y el corte de control (definían la forma de encarar lasolución). El problema define cuándo aplicar el pattern, siempre que el contexto lo haga relevante. La solución contiene un template genérico de los elementos que componen el diseño, sus responsabilidades, relaciones y colaboraciones. Un pattern no es instanciable per se, la abstracción representada en el problema debe aplicarse a nuestro dominio. En las consecuencias se analiza el impacto de aplicar unpattern en la solución, tanto a favor como en contra.
1

Se puede estudiar el gato “El explicado”, de Les Luthiers para recordar la importancia de los nombres: http://www.atame.org/l/les_luthiers/el_explicado.shtml 3

Introducción a Design Patterns

¿Qué no es un Design Pattern?
Un Design Pattern: • No es garantía de un sistema bien diseñado. Tengo las respuestas, pero me falta saber si...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Design Patterns
  • designer
  • Designer
  • Design
  • Design
  • Design
  • Design
  • Designer

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS