Está en la página 1de 4

UNIVERSIDAD TECNOLÓGICADE CHIHUAHUA

Tecnologías de la información y comunicación

Informe de patrones de diseño

PRESENTA
Alumno: Sebastián Eduardo Corral Rascón
Maestro: Jorge Alberto Chaparro Tarango

Chihuahua, Chih., 27 de Octubre de 2019.


Los patrones de diseño son unas técnicas para resolver problemas comunes en el desarrollo
de software y otros ámbitos referentes al diseño de interacción o interfaces.
Un patrón de diseño resulta ser una solución a un problema de diseño. Para que una solución sea
considerada un patrón debe poseer ciertas características. Una de ellas es que debe haber
comprobado su efectividad resolviendo problemas similares en ocasiones anteriores. Otra es que
debe ser reutilizable, lo que significa que es aplicable a diferentes problemas de diseño en distintas
circunstancias.

 Patrones de arquitectura: Aquellos que expresan un esquema organizativo estructural


fundamental para sistemas de software.
 Patrones de diseño: Aquellos que expresan esquemas para definir estructuras de diseño (o
sus relaciones) con las que construir sistemas de software.
 Dialectos: Patrones de bajo nivel específicos para un lenguaje de programación o entorno
concreto.
Además, también es importante reseñar el concepto de "antipatrón de diseño", que con forma
semejante a la de un patrón, intenta prevenir contra errores comunes de diseño en el software. La
idea de los antipatrones es dar a conocer los problemas que acarrean ciertos diseños muy
frecuentes, para intentar evitar que diferentes sistemas acaben una y otra vez en el mismo callejón
sin salida por haber cometido los mismos errores.

Objetivos de los patrones

 Proporcionar catálogos de elementos reusables en el diseño de sistemas software.


 Evitar la reiteración en la búsqueda de soluciones a problemas ya conocidos y solucionados
anteriormente.
 Formalizar un vocabulario común entre diseñadores.
 Estandarizar el modo en que se realiza el diseño.
 Facilitar el aprendizaje de las nuevas generaciones de diseñadores condensando
conocimiento ya existente.
Asimismo, no pretenden:

 Imponer ciertas alternativas de diseño frente a otras.


 Eliminar la creatividad inherente al proceso de diseño.

Factory

El patrón de diseño Factory Method nos permite la creación de un subtipo determinado por medio
de una clase de Factoría, la cual oculta los detalles de creación del objeto.

El objeto real creados es enmascarado detrás de una interface común entre todos los objetos que
pueden ser creado, con la finalidad de que estos pueden variar sin afectar la forma en que el
cliente interactúa con ellos.

Es normal que un Factory pueda crear varios subtipos de una determinada interface y que todos
los objetos concretos fabricados hagan una tarea similar pero con detalles de implementación
diferentes.
La intención del Factory Method es tener una clase a la cual delegar la responsabilidad de la
creación de los objetos, para que no sea el mismo programador el que decida que clase
instanciará, si no que delegará esta responsabilidad al Factory confiando en que este le regresará
la clase adecuada para trabajar.
Singleton
El patrón de diseño Singleton (soltero) recibe su nombre debido a que sólo se puede tener una
única instancia para toda la aplicación de una determinada clase, esto se logra restringiendo la
libre creación de instancias de esta clase mediante el operador new e imponiendo un
constructor privado y un método estático para poder obtener la instancia.

La intención de este patrón es garantizar que solamente pueda existir una única instancia de
una determinada clase y que exista una referencia global en toda la aplicación.

Los componentes que conforman el patrón son los siguientes:

 Client: Componente que desea obtener una instancia de la clase Singleton.


 Singleton: Clase que implementa el patrón Singleton, de la cual únicamente se podrá
tener una instancia durante toda la vida de la aplicación.
Proxy
El patrón proxy trata de proporcionar un objeto intermediario que represente o sustituya al
objeto original con motivo de controlar el acceso y otras características del mismo.

Se aplica cuando:

El patrón Proxy se usa cuando se necesita una referencia a un objeto más flexible o
sofisticada que un puntero. Según la funcionalidad requerida podemos encontrar varias
aplicaciones:

 Proxy remoto: representa un objeto en otro espacio de direcciones.


 Proxy virtual: retrasa la creación de objetos costosos.
 Proxy de protección: controla el acceso a un objeto.
 Referencia inteligente: tiene la misma finalidad que un puntero pero además ejecuta
acciones adicionales sobre el objeto, como por ejemplo el control de concurrencia.

Solución y Estructura:

La solución a este problema es crear una interfaz Subject que defina toda la funcionalidad que
nuestro objeto ha de proveer. Esta interfaz, evidentemente, ha de ser implementada por el
objeto real. Crearemos también un Objeto Proxy que mantendrá una referencia al objeto real,
y que además implementará la interfaz Subject, de modo que a la hora de precisar la
funcionalidad sea indiferente si se está ejecutando el Proxy o el objeto real.

También podría gustarte