patron de diseno

Páginas: 12 (2949 palabras) Publicado: 27 de marzo de 2014
Qué es un Patrón de Diseño?
En otras palabras, brindan una solución ya probada y documentada a problemas de desarrollo de software que están sujetos a contextos similares. Debemos tener presente los siguientes elementos de un patrón: su nombre, el problema (cuando aplicar un patrón), la solución (descripción abstracta del problema) y las consecuencias (costos y beneficios).
Un patrón es unainstrucción que muestra como puede ser usada esta configuración espacial una y otra vez para resolver el sistema de fuerzas, siempre que el contexto lo haga relevante.
Cada patrón describe un problema que ocurre una y otra vez en nuestro entorno, para describir después el núcleo de la solución a ese problema, de tal manera que esa solución pueda ser usada más de un millón de veces sin hacerlo nisiquiera dos veces de la misma forma.
Grande fue mi sorpresa al averiguar que existen varios patrones de diseño popularmente conocidos, los cuales se clasifican como se muestra a continuación:
Patrones Creacionales: Inicialización y configuración de objetos.
Patrones Estructurales: Separan la interfaz de la implementación. Se ocupan de cómo las clases y objetos se agrupan, para formarestructuras más grandes.
Patrones de Comportamiento: Más que describir objetos o clases, describen la comunicación entre ellos.

Clasificación de Patrones
Gamma y sus colaboradores, se concentran en los patrones de diseño, y los clasifican en las categorías. Agreguemos un resumen de los patrones que encontraron en cada una.
Patrones Creacionales
("Creational Patterns") Abstraen el proceso deinstanciación. Nos ayudan a independizar a un sistema, de cómo sus objetos son creados. En general, tratan de ocultar las clases y métodos concretos de creación, de tal forma que al variar su implementación, no se vea afectado el resto del sistema.
Es común encontrar "competencia" entre estos patrones: hay más de un patrón a adoptar ante una situación.
Podemos nombrar acá al WebRequest.Create, quenos devuelve un objeto de distintas clases, dependiendo de lo que le aportemos como parámetros en ejecución.
Abstract Factory: Nos da una interface para crear objetos de alguna familia, sin especificar la clase en concreto.
Builder: Separa la construcción de un objeto complejo, de su representación. De esa manera, el mismo proceso de construcción puede crear diferentes resultados.
FactoryMethod: Se define una interface para crear objetos, como en el Abstract Factory, pero se delega a las subclases implementar la creación en concreto.
Prototype: Mediante una instancia prototípica, conseguimos otras instancias de ese objeto.
Singleton: Nos consigue dar un solo objeto de la clase, en cualquier momento de la aplicación.
Estructurales
("Structural Patterns") Se ocupan de cómoclases y objetos se agrupan, para formar estructuras más grandes. Podemos nombrar al clásico patrón Composite, que permite agrupar varios objetos como si fueran uno solo, y tratar al objeto compuesto de una forma similar al simple. El clásico ejemplo es el de una clase Arbol, donde cada Nodo no importa si es un NodoCompuesto o uno simple. Encontramos en .NET una aplicación de este patrón en elXmlDocument.
Adapter: Permite convertir una interface de una clase, en otra, que es la esperada por algún cliente.
Bridge: Desacopla una abstracción de su implementación en concreto. Luego, podemos cambiar la implementación, o la abstracción, sin cambiar la otra.
Composite: Compone objetos en una estructura de árbol, donde los objetos compuestos se tratan de forma similar a los objetos simples.Decorator: Agrega responsabilidad a un objeto dinámicamente, dándonos una alternativa a la extensión de una clase, en lugar de usar subclases.
Facade: Provee una interface unificada a un conjunto de funciones de un subsistema. Es una interface de alto nivel, para facilitar el uso del subsistema.
Flyweight: Permite compartir objetos, sin repetirlos en el sistema, eficientemente.
Proxy:...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Patrones De Diseño
  • Patrones de Diseño
  • patrones de diseño
  • Patrones De Diseño
  • patron de diseño
  • Patrones de Diseño
  • Patrones de Diseño
  • Patrones De Diseño

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS