Patrones de diseñoi

Solo disponible en BuenasTareas
  • Páginas : 35 (8576 palabras )
  • Descarga(s) : 0
  • Publicado : 4 de octubre de 2010
Leer documento completo
Vista previa del texto
INGENIERIA EN SISTEMAS COMPUTACIONALES

MATERIA:
Análisis Y Diseño Orientado A Objetos.

ALUMNO:
COTA RODRIGUEZ DAVID ALONSO

PROFESOR:
Hernán Geovany Ayala Zúñiga

PATRONES DE DISEÑO.

LOS MOCHIS SIN., 10 NOVIEMBRE 2008

Patrones de diseño o más comúnmente conocidos como "Design Patterns". Sonsoluciones simples y elegantes a problemas específicos y comunes del diseño orientado a objetos. Son soluciones basadas en la experiencia y que se ha demostrado que funcionan. Es evidente que a lo largo de multitud de diseños de aplicaciones hay problemas que se repiten o que son análogos, es decir, que responden a un cierto patrón. Sería deseable tener una colección de dichos patrones con las solucionesmás óptimas para cada caso.
Los patrones de diseño no son fáciles de entender, pero una vez entendido su funcionamiento, los diseños serán mucho más flexibles, modulares y reutilizables. Han revolucionado el diseño orientado a objetos y todo buen arquitecto de software debería conocerlos.
El término “patrón de diseño” no es extremadamente preciso pero sí muy útil. En la forma en la que se sueleentender actualmente fue acuñado en Gamma y col. (1994), importante referencia que se suele designar abreviadamente como GoF. Por la manera en que se emplea este concepto en esta referencia básica y en la mayoría de usos posteriores, se refiere a una manera especialmente inteligente y perspicaz de resolver un tipo general de problema.
A pesar de constar el término “diseño” no se suele considerarque se refiera únicamente a la fase de diseño de un programa, es una solución completa que incluye análisis, diseño e implementación. Un “patrón de diseño” no se considera bien especificado hasta que se ha podido plasmar en forma de código en algún lenguaje, pero claramente no es una convención o receta “idiomática”, ligada a un lenguaje concreto, como podría la relacionada con “cómo recorrer deforma eficiente un vector en C empleando aritmética de punteros”, por poner un ejemplo. Sin embargo, en GoF se remarca que un patrón puede serlo, tener sentido identificarlo como tal o no, dependiendo del lenguaje utilizado. En el lenguaje de implementación elegido en GoF, C++, un patrón como
“herencia” no tiene sentido (ya está implícito en el propio lenguaje) mientras que sería una solucióngeneral muy adecuada a numerosos problemas si el lenguaje de implementación fuese C, por ejemplo. En un ámbito de problemas y de conceptos más cercano a la Estadística, y que trataremos con mayor detalle más adelante, un patrón de diseño muy común como “objeto función” según la terminología de Eckel(2003) o
“comando” según la terminología de GoF, tiene sentido en Java o en C++, pero no en
Python,donde todo, y en concreto cualquier método o función miembro, es un objeto.
Tampoco hay que confundir “patrón de diseño” con un algoritmo adecuado para resolver un tipo concreto de problema –que, lógicamente, se tendría que implementar de forma distinta según el lenguaje. Un patrón de diseño debe ser una especificación muy general, una especie de invariante que se cumple en problemas de ámbitosdiversos y que define una solución general y muy estable.
Lista con los patrones de diseño a objetos más habituales publicados en el libro "Design Patterns[pic]", escrito por los que comúnmente se conoce como GoF (gang of four, "pandilla de los cuatro").

Patrones de creación
Abstract Factory.
Proporciona una interfaz para crear familias de objetos o que dependen entre sí, sin especificar susclases concretas.
La idea detrás del patron Abstract Factory (que en español se traduciría como fabrica abstracta) consiste en la noción de que nuestro programa (o el cliente de una clase que nosotros proporcionamos) trabaja con una serie de productos (como los de una fábrica) que tienen unas determinadas características (por ejemplo tenemos productos embotellados y productos en tetrabrick)....
tracking img