Este documento describe los patrones de diseño de software, que definen soluciones a problemas comunes en el desarrollo de aplicaciones para facilitar la reutilización de código. Explica que existen patrones de creación, estructurales y de comportamiento, e ilustra algunos patrones como Abstract Factory, Builder, Factory Method, Prototype, Singleton, Adapter y Bridge.
Este documento describe los patrones de diseño de software, que definen soluciones a problemas comunes en el desarrollo de aplicaciones para facilitar la reutilización de código. Explica que existen patrones de creación, estructurales y de comportamiento, e ilustra algunos patrones como Abstract Factory, Builder, Factory Method, Prototype, Singleton, Adapter y Bridge.
Este documento describe los patrones de diseño de software, que definen soluciones a problemas comunes en el desarrollo de aplicaciones para facilitar la reutilización de código. Explica que existen patrones de creación, estructurales y de comportamiento, e ilustra algunos patrones como Abstract Factory, Builder, Factory Method, Prototype, Singleton, Adapter y Bridge.
Maria Elsy Lucuara Berrio Jonathan Steven Parra Concha Mauricio Herrera Isaac ¿Qué son los patrones de diseño? Cuando se desarrolla una aplicación software es frecuente encontrarse en la situación de tener que volver a resolver problemas similares a otros que ya hemos solucionado anteriormente, y debemos volver a hacerlo partiendo de cero una y otra y otra vez (incluso dentro del mismo proyecto). Debido a ello y basándose en la programación orientada a objetos surgieron los patrones de diseño, donde cada uno de ellos define la solución para resolver un determinado problema, facilitando además la reutilización del código fuente.
Dependiendo de su finalidad pueden ser:
Patrones de creación: utilizados para crear y configurar de clases y objetos. Patrones estructurales: su objetivo es desacoplar las interfaces e implementar clases y objetos. Crean grupos de objetos. Patrones de comportamiento: se centran en la interacción entre asociaciones de clases y objetos definiendo cómo se comunican entre sí. Ilustración de la Definición Abstract Factory Este patrón resulta útil en casos en los que necesitemos crear familias de objetos relacionados o dependientes entre sí, sin especificar sus clases concretas. Observa su diagrama en UML: Builder Este patrón puede ser utilizado cuando necesitemos crear objetos complejos compuestos de varias partes independientes. Factory Method Podemos utilizar este patrón cuando definamos una clase a partir de la que se crearán objetos pero sin saber de qué tipo son, siendo otras subclases las encargadas de decidirlo. Prototype Este patrón nos será útil si necesitamos crear y manipular copias de otros objetos: Singleton Utilizaremos el patrón Singleton cuando por alguna razón necesitemos que exista sólo una instancia (un objeto) de una determinada Clase. Dicha clase se creará de forma que tenga una propiedad estática y un constructor privado, así como un método público estático que será el encargado de crear la instancia (cuando no exista) y guardar una referencia a la misma en la propiedad estática (devolviendo ésta). Adapter Este patrón permite que trabajen juntas clases con interfaces incompatibles. Para ello, un objeto adaptador reenvía al otro objeto los datos que recibe (a través de los métodos que implementa, definidos en una clase abstracta o interface) tras manipularlos en caso necesario. Bridge Según el libro de GoF este patrón de diseño permite desacoplar una abstracción de su implementación, de manera que ambas puedan variar de forma independiente. Supongamos que tenemos una clase abstracta en la que se define un método que deberá implementar cada clase que herede de ella: ¿cómo haríamos si una clase hija necesitase implementarlo de forma que realizase acciones diferentes dependiendo de determinadas circunstancias?. En dichos casos nos resultaría útil el patrón Bridge (puente) ya que 'desacopla una abstracción' (un método abstracto) al permitir indicar (durante la ejecución del programa) a una clase qué 'implementación' del mismo debe utilizar (qué acciones ha de realizar). El diagrama UML de este patrón es el siguiente: En resumen Si bien existen muchos patrones de diseño que nos facilitan el desarrollo de nuestras aplicaciones, en esta diapositiva solo mencionamos unos cuantos, pero todo diseñados con el mismo fin: reutilizar el modelo que resuelva algunos de nuestros problemas con una facilidad implementada por alguien que hace mucho tiempo tuvo el mismo problema y lo convirtió en eso, en un Patrón De Diseño. Web grafía