Descargar como pptx, pdf o txt
Descargar como pptx, pdf o txt
Está en la página 1de 12

Patrones de Diseño Software

Richard Andres Angulo Ortiz                        


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

 https://informaticapc.com/patrones-de-diseno

También podría gustarte