Patrones de diseño
Índice
5. Aproximación a los Patrones 153
Sobre el capítulo 154
Motivaciones 154
Objetivos 154
Contenidos 154
5.1 Patrón Composición 156
5.2 Más caras, aumenta la diversidad 164
5.3 La diversidad toda junta y revuelta 165
5.4 La diversidad distribuida 166
5.5 El problema de crear objetos y el patrón Método de Fábrica170
5.6 Adornar las caras, el Patrón Decorador 176
5.7 Análisis del Patrón Decorador 181
5.8 Objetos de comportamiento variable y el Patrón Estado 183
Bibliografía 190
Sobre el capítulo
Motivaciones
Los humanos utilizan constantemente patrones en las profesiones, los oficios, y en cualquier aspecto de la vida, quizás, como una extensión de los reflejoscondicionados. Un patrón es algo que se repite Por ejemplo, mirar la calle antes de cruzarla, la apertura Ruy López en el ajedrez, el conjunto de biela-manivela en mecánica, el amplificador en electrónica,…
Sin embargo, durante mucho tiempo se dejó a un lado el uso de patrones en el desarrollo de software porque se creía que El Método suplía y mejoraba las soluciones históricas. El énfasis estaba enla búsqueda de un método general, menospreciando e incluso despreciando las soluciones particulares. Pero, a mediados de los noventa se produce un vuelco con la publicación y aceptación del libro “Patrones de diseño” de Gamma y un grupo de autores autodenominado Banda de los cuatro. A partir de ahí los patrones se convirtieron en una forma de pensar el software y la ingeniería de software dio unpaso importante de aproximación al resto de ingenierías.
El repentino surgimiento de los patrones en el mundo software, el predominio del empirismo en el desarrollo de software y su inspiración en la propuesta del arquitecto Alexander han provocado que los patrones se estudien como recetas de catálogo, descritas en un denominado lenguaje de patrones. Algo así como una reglas, criterios yconsejos para aplicarlos. La primera versión del citado libro decía: “Si al terminar de leer este libro no lo entiende, no se preocupe, nosotros tampoco lo entendimos cuando lo terminamos de escribir”.
Aunque las recetas sean útiles y sean históricamente anteriores a los fundamentos que las explican, conviene estudiarlas desde los fundamentos, para facilitar su asimilación y evitar que laexplosión combinatoria nos aplaste. En fin, conviene hacer lo que hacen todas las demás profesiones: estudiar los fundamentos y derivar de ahí los patrones.
Objetivos
El objetivo del presente capítulo es conseguir una aproximación a los patrones software, desde la perspectiva de sus fundamentos teóricos, usando el pretexto de continuar la evolución del sistema de las caras quecomenzó con unas simples figuras geométricas.
Se aprovecha el capítulo también para discutir técnicas de diseño, sobre todo las relacionadas con el ahorro de clases que conlleva a crear clases suculentas.
Contenidos
A partir del sistema que dibuja una cara se quiere que la cara tenga las mismas propiedades de las figuras geométricas. Aparece el patrón composición comoconsecuencia de extender el concepto de figura y definir que la clase Cara es un subtipo de Figura. El patrón composición es una estructura recursiva de diseño.
Después se quiere ampliar el abanico de caras y dibujar caras con varias expresiones, por ejemplo alegre y triste. Esta variedad de expresiones se pueden encerrar en una sola clase o disgregarla en varias clases. Si se disgrega, entoncesse agudiza un problema: la creación de clases. El patrón método de fábrica aparece como una forma de paliar ese problema, mediante su traslado a una clase especializada en la creación de objetos. El patrón método de fábrica es una variante de delegar en otro objeto la realización de una tarea con la finalidad de establecer una relación ambigua.
Para adornar las figuras y las caras se...
Regístrate para leer el documento completo.