Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Sergio Peralta
Octubre 2019.
Politécnico GranColombiano.
Bogotá.
Ing. De Software II
ii
Abstract
Lo patrones de desarrollo nos permiten a los desarrolladores de software hallar una solución a un
problema que tengamos al momento de programar, son patrones documentados que tienen un
problema específico al que hallaron solución con este procedimiento, existen varios tipos de
patrones, sin embargo nos centraremos en los que son orientados a Desarrollo Web, más
específicamente en los Patrones Gof. Que permite la solución a problemas en las clases de un
programa o permite la reutilización de diseños y arquitecturas software que han tenido éxito
patrones, los Patrones de creación, los Patrones estructurales y los Patrones de comportamiento.
Patrones de Desarrollo
Tabla de Contenidos iii
Patrones de Desarrollo
Lista de figuras iv
Patrones de Desarrollo
1
Patrones de Creación:
Abstract Factory:
pero puede resultar contraproducente cuando se añaden nuevos productos o cambian los
decorator
Patrones de Desarrollo
2
Builder:
solución será crear un constructor que permita construir todos los tipos de objetos,
Factory Method:
Define una interfaz para crear un objeto, pero deja que sean las subclases quienes
decidan qué clase instanciar. Permite que una clase delegue en sus subclases la creación
de objetos.
Patrones de Desarrollo
3
Una clase no puede anticipar el tipo de objetos que debe crear, ya que la jerarquía
de clases que tiene requiere que deba delegar la responsabilidad a una subclase.
Prototype:
Especifica los tipos de objetos a crear por medio de una instancia prototípica, y
Modo de clonar un objeto cuya creación normal supone un alto coste. En este
caso veremos cómo hacer una caché de objetos creados mediante acceso simulado a base
de datos.
Patrones de Desarrollo
4
Singleton:
Garantiza que una clase sólo tenga una instancia, y proporciona un punto de
acceso global a ella, es un patrón de diseño que permite restringir la creación de objetos
Su intención consiste en garantizar que una clase solo tenga una instancia y
proporcionar un punto de acceso global a ella. Asegurar que una clase no pueda ser
instanciada nuevamente.
Patrones estructurales
Adapter:
Convierte la interfaz de una clase en otra distinta que es la que esperan los
clientes. Permiten que cooperen clases que de otra manera no podrían por tener interfaces
incompatibles.
adaptador permite a las clases trabajar juntas, lo que de otra manera no podría hacerse
Bridge:
a objetos se vuelven muy útiles debido a que los cambios en el código de un programa
Patrones de Desarrollo
6
Composite:
Permite que los clientes traten de manera uniforme a los objetos individuales y a los
compuestos.
Esto simplifica el tratamiento de los objetos creados, ya que al poseer todos ellos
estructura compuesta como si de un nodo final se tratara, aunque dicha parte esté
Patrones de Desarrollo
7
Decorator:
Facade:
subsistema. Define una interfaz de alto nivel que hace que el subsistema sea más fácil de
Patrones de Desarrollo
8
Flyweight:
forma eficiente.
Patrones de Desarrollo
9
Proxy:
éste.
El patrón Proxy nos dice que construyamos una nueva clase proxy con la misma
interfaz que tiene la clase original. Luego en vez de utilizar la clase original, utilizamos la
clase proxy en todos los clientes que antes usaban la clase original. La clase proxy agrega
Patrones de comportamiento
Chain of Responsibility:
posibilidad de responder a la petición. Crea una cadena con los objetos receptores y pasa
la petición a través de la cadena hasta que esta sea tratada por algún objeto. Cualquiera de
Patrones de Desarrollo
10
Se utiliza, por ejemplo, cuando en función del estado del sistema las peticiones
emitidas por un objeto deben ser atendidas por distintos objetos receptores.
Command:
con distintas peticiones, encolar o llevar un registro de las peticiones y poder deshacer la
operaciones.
Interpreter:
intérprete que usa dicha representación para interpretar las sentencias del lenguaje.
representen cadenas a buscar dentro de otras cadenas. Además, en general, para definir un
lenguaje que permita representar las distintas instancias de una familia de problemas.
Iterator:
una estructura de datos para la utilización de estos sin exponer su estructura interna.
Patrones de Desarrollo
12
(por ejemplo, una lista) sin exponer su representación interna. Además, es posible que se
necesite más de una forma de recorrer la estructura siendo para ello necesario crear
modificaciones en la clase.
Mediator:
Promueve un bajo acoplamiento al evitar que los objetos se refieran unos a otros
Patrones de Desarrollo
13
Memento:
encapsulación, de forma que éste puede volver a dicho estado más tarde.
restaurar en ese punto de manera sencilla. Para ello se mantiene almacenado el estado del
pertenece el objeto, de forma que ese recuerdo permita que el objeto sea modificado y
Patrones de Desarrollo
14
Observer:
State:
Patrones de Desarrollo
15
Strategy:
lo usan.
tiempo de ejecución, es decir, poder elegir qué algoritmo, entre un subconjunto posible,
Para ello se crean objetos que representan las distintas estrategias existentes para
a las distintas estrategias. Es muy importante que los algoritmos definidos en cada
Patrones de Desarrollo
16
Template Method:
algunos de sus pasos. Permite que las subclases redefinan ciertos pasos del algoritmo sin
cambiar su estructura.
del algoritmo. Dejar que las subclases que se implementan (a través del método
subclases.
Patrones de Desarrollo
17
Visitor:
Permite definir una nueva operación sin cambiar las clases de los elementos sobre los que
opera.
Permite definir una operación sobre objetos de una jerarquía de clases sin
modificar las clases sobre las que opera. Representa una operación que se realiza sobre
Patrones de Desarrollo
18
Resultados y discusión.
documento me pude dar cuenta de todos los patrones que pueden existir, no solo
de software.
Patrones de Desarrollo