SlideShare uma empresa Scribd logo
1 de 18
Pierre Sergei Zuppa Azúa
Patrones de diseño Web
Métodos de desarrollo para web
Patrones de diseño web
Keyword
Métodos de desarrollo para web
Patrones de diseño web
Patrón
Es una solución a un problema
de diseño no trivial que es
• Efectiva: ha valido para
resolver el problema en
diseños pasados
• Reusable: la solución es la
misma para problemas
similares
Ventajas del diseño con
patrones
• Permiten reusar soluciones
probadas
• Facilitan la comunicación
entre diseñadores
• Los patrones tienen nombres
estándar
• Facilitan el aprendizaje al
diseñador inexperto
Métodos de desarrollo para web
Patrones de diseño web
Características de un patrón
1. Contexto: situación en la que se
presenta el problema de diseño.
2. Problema: descripción del
problema a resolver, y
enumeración de las fuerzas a
equilibrar (requisitos no
funcionales como eficiencia,
portabilidad, cambiabilidad).
3. Solución: conjunto de medidas
que se han de tomar, como crear
alguna clase, atributo o método,
nuevos comportamientos entre
clases.
Métodos de desarrollo para web
Patrones de diseño web
Patrón de diseño Web
Es un aspecto del diseño visual
por el que se determina la
disposición general de los
elementos del sitio web en el
área de visualización
determinado por el navegador.
Métodos de desarrollo para web
Patrones de diseño web
Tipo de patrones
Existen patrones independientes
del dominio y otros específicos a
un dominio concreto
Ej: Los patrones del GoF son
independientes del dominio
Ej.: Los patrones aplicables al
desarrollo de aplicaciones
empresariales
Pattern-Oriented Software
Architecture (POSA)
• Patrones arquitectónicos
[Diseño]
• Patrones de diseño [Diseño]
• „Idiomas [Implementación]
Métodos de desarrollo para web
Patrones de diseño web
Pattern-Oriented Software Architecture
Patrones arquitectónicos Patrones de diseño Patrones de idioma
Aconsejan la arquitectura
global que debe seguir una
aplicación
Ej.: El patrón Model-View-
Controller (MVC) aconseja
la arquitectura global que
debe tener una aplicación
interactiva
Explican cómo resolver un
problema concreto de
diseño
El patrón “Data Access
Object” (DAO) permite
abstraer y
encapsular los accesos a un
repositorio de datos
Explican cómo resolver un
problema particular de
implementación con una
tecnología concreta
¿Cómo comparar objetos
correctamente en Java?
Correcta redefinición de
equals() y hashCode()
Métodos de desarrollo para web
Patrones de diseño web
Patrones de diseño hipermedia
Están pensados para capturar
soluciones a problemas de
diseño derivados del modelado
de las principales características
de una aplicación hipermedia o
web, como son la navegación,
presentación, dominio de la
aplicación, comportamientos
interactivos, personalización y
seguridad.
Métodos de desarrollo para web
Patrones de diseño web
Características patrones GOF
(Gang Of Four)
• Son soluciones concretas. Proponen soluciones a problemas concretos, no son teorías genéricas.
• Son soluciones técnicas. Indican resoluciones técnicas basadas en Programación Orientada a Objetos
(POO). En ocasiones tienen más utilidad con algunos lenguajes de programación y en otras son
aplicables a cualquier lenguaje.
• Se utilizan en situaciones frecuentes. Debido a que se basan en la experiencia acumulada al resolver
problemas reiterativos.
• Favorecen la reutilización de código. Ayudan a construir software basado en la reutilización, a construir
clases reutilizables. Los propios patrones se reutilizan cada vez que se vuelven a aplicar.
• El uso de un patrón no se refleja en el código. Al aplicar un patrón, el código resultante no tiene por
qué delatar el patrón o patrones que lo inspiró. No obstante últimamente hay múltiples esfuerzos
enfocados a la construcción de herramientas de desarrollo basados en los patrones y frecuentemente
se incluye en los nombres de las clases el nombre del patrón en que se basan facilitando así la
comunicación entre desarrolladores.
• Es difícil reutilizar la implementación de un patrón. Al aplicar un patrón aparecen clases concretas que
solucionan un problema concreto y que no será aplicable a otros problemas que requieran el mismo
patrón.
Métodos de desarrollo para web
Patrones de diseño web
clasificación GOF propósito
• Patrones de Creación
• Patrones Estructurales
• Patrones de Comportamiento
Métodos de desarrollo para web
Patrones de diseño web
Patrones de creación
Se encargan de la creación de instancias de los
objetos. Abstraen la forma en que se crean los
objetos, permitiendo tratar las clases a crear de
forma genérica, dejando para después la decisión
de que clase crear o cómo crearla. Según donde
se tome dicha decisión se pueden clasificar los
patrones de creación en: patrones de creación de
clases (la decisión se toma en los constructores de
las clases y usan la herencia para determinar la
creación de las instancias).
• Abstract Factory (Fábrica Abstracta): Permite
trabajar con objetos de distintas familias de
manera que las familias no se mezclen entre sí
y haciendo transparente el tipo de familia
concreta que se esté usando.
• Builder (Constructor virtual): Abstrae el
proceso de creación de un objeto complejo,
centralizando dicho proceso en un único punto.
• Factory Method (Método de fabricación):
Centraliza en una clase constructora la
creación de objetos de un subtipo de un tipo
determinado, ocultando al usuario la casuística
para elegir el subtipo que se crea.
• Prototype (Prototipo): Crea nuevos objetos
clonándolos de una instancia ya existente.
• Singleton (Instancia única): Garantiza la
existencia de una única instancia para una
clase y la creación de un mecanismo de acceso
global a dicha instancia.
Métodos de desarrollo para web
Patrones de diseño web
Patrones estructurales
Son los que plantean las relaciones entre clases,
las combinan y forman estructuras mayores.
Tratan de conseguir que los cambios en los
requisitos de la aplicación no ocasionen cambios
en las relaciones entre los objetos. Lo fundamental
son las relaciones de uso entre los objetos, y éstas
están determinadas por las interfaces que
soportan los objetos. Estudian cómo se relacionan
los objetos en tiempo de ejecución. Sirven para
diseñar las interconexiones entre los objetos
• Adapter (Adaptador): Adapta una interfaz para
que pueda ser utilizada por una clase que de
otro modo no podría utilizarla.
• Bridge (Puente): Desacopla una abstracción de
su implementación.
• Composite (Objeto compuesto): Permite tratar
objetos compuestos como si de uno simple se
tratase.
• Decorator (Envoltorio): Añade funcionalidad a
una clase dinámicamente.
• Facade (Fachada): Provee de una interfaz
unificada simple para acceder a una interfaz o
grupo de interfaces de un subsistema.
• Flyweight (Peso ligero): Reduce la
redundancia cuando gran cantidad de objetos
poseen idéntica información.
• Proxy: Mantiene un representante de un objeto.
Métodos de desarrollo para web
Patrones de diseño web
Patrones de comportamiento
Plantea la interacción y cooperación entre las clases. Los
patrones de comportamiento estudian las relaciones entre
llamadas entre los diferentes objetos, normalmente ligados
con la dimensión temporal. Los patrones de comportamiento
son:
• Chain of Responsibility (Cadena de responsabilidad):
Permite establecer la línea que deben llevar los
mensajes para que los objetos realicen la tarea indicada.
• Command (Orden): Encapsula una operación en un
objeto, permitiendo ejecutar dicha operación sin
necesidad de conocer el contenido de la misma.
• Interpreter (Intérprete): Dado un lenguaje, define una
gramática para dicho lenguaje, así como las
herramientas necesarias para interpretarlo.
• Iterator (Iterador): Permite realizar recorridos sobre
objetos compuestos independientemente de la
implementación de estos.
• Mediator (Mediador): Define un objeto que coordine la
comunicación entre objetos de distintas clases, pero que
funcionan como un conjunto.
• Memento (Recuerdo): Permite volver a estados
anteriores del sistema.
• Observer (Observador): Define una dependencia de
uno-a-muchos entre objetos, de forma que cuando un
objeto cambie de estado se notifique y actualicen
automáticamente todos los objetos que dependen de él.
• State (Estado): Permite que un objeto modifique su
comportamiento cada vez que cambie su estado interno.
• Template Method (Método plantilla): Define en una
operación el esqueleto de un algoritmo, delegando en las
subclases algunos de sus pasos, esto permite que las
subclases redefinan ciertos pasos de un algoritmo sin
cambiar su estructura.
• Visitor (Visitante): Permite definir nuevas operaciones
sobre una jerarquía de clases sin modificar las clases
sobre las que opera.
• Strategy (Estrategia): Permite disponer de varios
métodos para resolver un problema y elegir cuál utilizar
en tiempo de ejecución.
Métodos de desarrollo para web
Patrones de diseño web
Técnica de diseño Web
ancho fijo
El contenido se ajusta a un ancho
determinado y crece únicamente de
manera vertical. Es lo más habitual, y por
tanto, considerado un estándar bien
soportado incluso por dispositivos de
pantalla pequeña (móviles, tabletas, etc.),
cuyos navegadores detectan este patrón
y permiten ampliar por áreas la página
presentada.
El ancho más utilizado es el que se
adapta a tamaños de pantalla de 1024
puntos de ancho, y la columna que forma
el contenido suele presentarse centrada,
y en menor medida con alineación a la
izquierda.
Métodos de desarrollo para web
Patrones de diseño web
Técnica de diseño Web
diseño Web líquido
El contenido ocupa todo el área
visual disponible según el
tamaño de pantalla y las
dimensiones de la ventana del
navegador.
Este tipo de diseño es
recomendado para sitios web
con un marcado carácter
práctico, esto es, herramientas
accesibles a través de web.
Métodos de desarrollo para web
Patrones de diseño web
Técnica de diseño Web
patrón de diseño Web híbrido
Es cuando en una web se
combinan áreas con ancho fijo y
otras con ancho variable. El
resultado final es realmente una
Web de diseño líquido que
conserva las proporciones en
determinadas áreas.
Métodos de desarrollo para web
Patrones de diseño web
Técnica de diseño Web
diseño Web para móviles
Se atienden aspectos como a la
disposición de contenidos, la
cantidad de éstos, criterios de
accesibilidad (menús, rutas de
navegación), el peso de
imágenes y archivos, etc.
Métodos de desarrollo para web
Patrones de diseño web
Frase
No es el patrón el que paga los
sueldos, él solo tiene el dinero.
Es el producto el paga los
sueldos.
Henry Ford

Mais conteúdo relacionado

Semelhante a Patrones diseño web

CC51A_Clase13-14_Patrones_Arquitectonicos.ppt
CC51A_Clase13-14_Patrones_Arquitectonicos.pptCC51A_Clase13-14_Patrones_Arquitectonicos.ppt
CC51A_Clase13-14_Patrones_Arquitectonicos.pptBayronHernandez12
 
Patrones de diseño
Patrones de diseñoPatrones de diseño
Patrones de diseñoaleja0940
 
Patrones de Diseño de Software
Patrones de Diseño de SoftwarePatrones de Diseño de Software
Patrones de Diseño de SoftwareWilliam A. Molina
 
Modelo Orientado A Objetos
Modelo Orientado A ObjetosModelo Orientado A Objetos
Modelo Orientado A Objetosjose_rob
 
Desarrollo basado en patrones
Desarrollo basado en patronesDesarrollo basado en patrones
Desarrollo basado en patronesMarvin Zumbado
 
12-150203140754-conversion-gate02.pptx
12-150203140754-conversion-gate02.pptx12-150203140754-conversion-gate02.pptx
12-150203140754-conversion-gate02.pptxGonzaloMartinezSilve
 
Diseño de interacción, Prototipado y Testing
Diseño de interacción, Prototipado y TestingDiseño de interacción, Prototipado y Testing
Diseño de interacción, Prototipado y TestingJuan Paulo Madriaza
 
Ingeniería de software y el paradigma orientado a objetos
Ingeniería de software y el paradigma orientado a objetosIngeniería de software y el paradigma orientado a objetos
Ingeniería de software y el paradigma orientado a objetosWilfredo Mogollón
 
Patrones comportamiento
Patrones comportamientoPatrones comportamiento
Patrones comportamientoJuan Camilo
 
Patrones de diseño - Henry Vallejo
Patrones de diseño - Henry VallejoPatrones de diseño - Henry Vallejo
Patrones de diseño - Henry Vallejo2008PA2Info3
 
Patrones de diseño - Daniel E. Jaramillo
Patrones de diseño - Daniel E. JaramilloPatrones de diseño - Daniel E. Jaramillo
Patrones de diseño - Daniel E. Jaramillo2008PA2Info3
 
Introducción a los patrones de diseño
Introducción a los patrones de diseñoIntroducción a los patrones de diseño
Introducción a los patrones de diseñoSoftware Guru
 
02 -introduccion_a_la_tecnologia_orientada_a_objetos
02  -introduccion_a_la_tecnologia_orientada_a_objetos02  -introduccion_a_la_tecnologia_orientada_a_objetos
02 -introduccion_a_la_tecnologia_orientada_a_objetoskarlalopezbello
 
Patrones de diseño I
Patrones de diseño IPatrones de diseño I
Patrones de diseño Ijjegonzalezf
 

Semelhante a Patrones diseño web (20)

CC51A_Clase13-14_Patrones_Arquitectonicos.ppt
CC51A_Clase13-14_Patrones_Arquitectonicos.pptCC51A_Clase13-14_Patrones_Arquitectonicos.ppt
CC51A_Clase13-14_Patrones_Arquitectonicos.ppt
 
Patrones de diseño
Patrones de diseñoPatrones de diseño
Patrones de diseño
 
Clase ii patrones de diseño
Clase ii patrones de diseñoClase ii patrones de diseño
Clase ii patrones de diseño
 
Patrones de Diseño de Software
Patrones de Diseño de SoftwarePatrones de Diseño de Software
Patrones de Diseño de Software
 
Modelo Orientado A Objetos
Modelo Orientado A ObjetosModelo Orientado A Objetos
Modelo Orientado A Objetos
 
Desarrollo basado en patrones
Desarrollo basado en patronesDesarrollo basado en patrones
Desarrollo basado en patrones
 
Diseño basado en patrones
Diseño basado en patronesDiseño basado en patrones
Diseño basado en patrones
 
12-150203140754-conversion-gate02.pptx
12-150203140754-conversion-gate02.pptx12-150203140754-conversion-gate02.pptx
12-150203140754-conversion-gate02.pptx
 
12.diseño basado en patrones
12.diseño basado en patrones12.diseño basado en patrones
12.diseño basado en patrones
 
Diseño de interacción, Prototipado y Testing
Diseño de interacción, Prototipado y TestingDiseño de interacción, Prototipado y Testing
Diseño de interacción, Prototipado y Testing
 
Ingeniería de software y el paradigma orientado a objetos
Ingeniería de software y el paradigma orientado a objetosIngeniería de software y el paradigma orientado a objetos
Ingeniería de software y el paradigma orientado a objetos
 
Patrones comportamiento
Patrones comportamientoPatrones comportamiento
Patrones comportamiento
 
Patrones de diseño - Henry Vallejo
Patrones de diseño - Henry VallejoPatrones de diseño - Henry Vallejo
Patrones de diseño - Henry Vallejo
 
Semana 1 Patrones de Diseño
Semana 1   Patrones de DiseñoSemana 1   Patrones de Diseño
Semana 1 Patrones de Diseño
 
Patrones GOF
Patrones GOFPatrones GOF
Patrones GOF
 
Patrones de diseño - Daniel E. Jaramillo
Patrones de diseño - Daniel E. JaramilloPatrones de diseño - Daniel E. Jaramillo
Patrones de diseño - Daniel E. Jaramillo
 
Introducción a los patrones de diseño
Introducción a los patrones de diseñoIntroducción a los patrones de diseño
Introducción a los patrones de diseño
 
02 -introduccion_a_la_tecnologia_orientada_a_objetos
02  -introduccion_a_la_tecnologia_orientada_a_objetos02  -introduccion_a_la_tecnologia_orientada_a_objetos
02 -introduccion_a_la_tecnologia_orientada_a_objetos
 
Patrones de diseño I
Patrones de diseño IPatrones de diseño I
Patrones de diseño I
 
Rssddsd
RssddsdRssddsd
Rssddsd
 

Último

12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdf12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdfedwinmelgarschlink2
 
PPT-HISTORIA-6°-ABC.pptxjjjjjjjjjjjjjjjjjjjjjj
PPT-HISTORIA-6°-ABC.pptxjjjjjjjjjjjjjjjjjjjjjjPPT-HISTORIA-6°-ABC.pptxjjjjjjjjjjjjjjjjjjjjjj
PPT-HISTORIA-6°-ABC.pptxjjjjjjjjjjjjjjjjjjjjjjNachisRamos
 
02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor
02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor
02. Mr. Spencer (T.L. Sawn).pdf.libro de un señorkkte210207
 
Guia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdfGuia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdflauradbernals
 
Las redes sociales en el mercado digital
Las redes sociales en el mercado digitalLas redes sociales en el mercado digital
Las redes sociales en el mercado digitalNayaniJulietaRamosRa
 
TIPOS DE LA PSICOPATOLOGÍA DE LA PERCEPCIÓN.pdf
TIPOS DE LA PSICOPATOLOGÍA DE LA PERCEPCIÓN.pdfTIPOS DE LA PSICOPATOLOGÍA DE LA PERCEPCIÓN.pdf
TIPOS DE LA PSICOPATOLOGÍA DE LA PERCEPCIÓN.pdfLUZMARIAAYALALOPEZ
 
Unidad V. Disoluciones quimica de las disoluciones
Unidad V. Disoluciones quimica de las disolucionesUnidad V. Disoluciones quimica de las disoluciones
Unidad V. Disoluciones quimica de las disolucioneschorantina325
 

Último (7)

12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdf12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdf
 
PPT-HISTORIA-6°-ABC.pptxjjjjjjjjjjjjjjjjjjjjjj
PPT-HISTORIA-6°-ABC.pptxjjjjjjjjjjjjjjjjjjjjjjPPT-HISTORIA-6°-ABC.pptxjjjjjjjjjjjjjjjjjjjjjj
PPT-HISTORIA-6°-ABC.pptxjjjjjjjjjjjjjjjjjjjjjj
 
02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor
02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor
02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor
 
Guia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdfGuia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdf
 
Las redes sociales en el mercado digital
Las redes sociales en el mercado digitalLas redes sociales en el mercado digital
Las redes sociales en el mercado digital
 
TIPOS DE LA PSICOPATOLOGÍA DE LA PERCEPCIÓN.pdf
TIPOS DE LA PSICOPATOLOGÍA DE LA PERCEPCIÓN.pdfTIPOS DE LA PSICOPATOLOGÍA DE LA PERCEPCIÓN.pdf
TIPOS DE LA PSICOPATOLOGÍA DE LA PERCEPCIÓN.pdf
 
Unidad V. Disoluciones quimica de las disoluciones
Unidad V. Disoluciones quimica de las disolucionesUnidad V. Disoluciones quimica de las disoluciones
Unidad V. Disoluciones quimica de las disoluciones
 

Patrones diseño web

  • 1. Pierre Sergei Zuppa Azúa Patrones de diseño Web
  • 2. Métodos de desarrollo para web Patrones de diseño web Keyword
  • 3. Métodos de desarrollo para web Patrones de diseño web Patrón Es una solución a un problema de diseño no trivial que es • Efectiva: ha valido para resolver el problema en diseños pasados • Reusable: la solución es la misma para problemas similares Ventajas del diseño con patrones • Permiten reusar soluciones probadas • Facilitan la comunicación entre diseñadores • Los patrones tienen nombres estándar • Facilitan el aprendizaje al diseñador inexperto
  • 4. Métodos de desarrollo para web Patrones de diseño web Características de un patrón 1. Contexto: situación en la que se presenta el problema de diseño. 2. Problema: descripción del problema a resolver, y enumeración de las fuerzas a equilibrar (requisitos no funcionales como eficiencia, portabilidad, cambiabilidad). 3. Solución: conjunto de medidas que se han de tomar, como crear alguna clase, atributo o método, nuevos comportamientos entre clases.
  • 5. Métodos de desarrollo para web Patrones de diseño web Patrón de diseño Web Es un aspecto del diseño visual por el que se determina la disposición general de los elementos del sitio web en el área de visualización determinado por el navegador.
  • 6. Métodos de desarrollo para web Patrones de diseño web Tipo de patrones Existen patrones independientes del dominio y otros específicos a un dominio concreto Ej: Los patrones del GoF son independientes del dominio Ej.: Los patrones aplicables al desarrollo de aplicaciones empresariales Pattern-Oriented Software Architecture (POSA) • Patrones arquitectónicos [Diseño] • Patrones de diseño [Diseño] • „Idiomas [Implementación]
  • 7. Métodos de desarrollo para web Patrones de diseño web Pattern-Oriented Software Architecture Patrones arquitectónicos Patrones de diseño Patrones de idioma Aconsejan la arquitectura global que debe seguir una aplicación Ej.: El patrón Model-View- Controller (MVC) aconseja la arquitectura global que debe tener una aplicación interactiva Explican cómo resolver un problema concreto de diseño El patrón “Data Access Object” (DAO) permite abstraer y encapsular los accesos a un repositorio de datos Explican cómo resolver un problema particular de implementación con una tecnología concreta ¿Cómo comparar objetos correctamente en Java? Correcta redefinición de equals() y hashCode()
  • 8. Métodos de desarrollo para web Patrones de diseño web Patrones de diseño hipermedia Están pensados para capturar soluciones a problemas de diseño derivados del modelado de las principales características de una aplicación hipermedia o web, como son la navegación, presentación, dominio de la aplicación, comportamientos interactivos, personalización y seguridad.
  • 9. Métodos de desarrollo para web Patrones de diseño web Características patrones GOF (Gang Of Four) • Son soluciones concretas. Proponen soluciones a problemas concretos, no son teorías genéricas. • Son soluciones técnicas. Indican resoluciones técnicas basadas en Programación Orientada a Objetos (POO). En ocasiones tienen más utilidad con algunos lenguajes de programación y en otras son aplicables a cualquier lenguaje. • Se utilizan en situaciones frecuentes. Debido a que se basan en la experiencia acumulada al resolver problemas reiterativos. • Favorecen la reutilización de código. Ayudan a construir software basado en la reutilización, a construir clases reutilizables. Los propios patrones se reutilizan cada vez que se vuelven a aplicar. • El uso de un patrón no se refleja en el código. Al aplicar un patrón, el código resultante no tiene por qué delatar el patrón o patrones que lo inspiró. No obstante últimamente hay múltiples esfuerzos enfocados a la construcción de herramientas de desarrollo basados en los patrones y frecuentemente se incluye en los nombres de las clases el nombre del patrón en que se basan facilitando así la comunicación entre desarrolladores. • Es difícil reutilizar la implementación de un patrón. Al aplicar un patrón aparecen clases concretas que solucionan un problema concreto y que no será aplicable a otros problemas que requieran el mismo patrón.
  • 10. Métodos de desarrollo para web Patrones de diseño web clasificación GOF propósito • Patrones de Creación • Patrones Estructurales • Patrones de Comportamiento
  • 11. Métodos de desarrollo para web Patrones de diseño web Patrones de creación Se encargan de la creación de instancias de los objetos. Abstraen la forma en que se crean los objetos, permitiendo tratar las clases a crear de forma genérica, dejando para después la decisión de que clase crear o cómo crearla. Según donde se tome dicha decisión se pueden clasificar los patrones de creación en: patrones de creación de clases (la decisión se toma en los constructores de las clases y usan la herencia para determinar la creación de las instancias). • Abstract Factory (Fábrica Abstracta): Permite trabajar con objetos de distintas familias de manera que las familias no se mezclen entre sí y haciendo transparente el tipo de familia concreta que se esté usando. • Builder (Constructor virtual): Abstrae el proceso de creación de un objeto complejo, centralizando dicho proceso en un único punto. • Factory Method (Método de fabricación): Centraliza en una clase constructora la creación de objetos de un subtipo de un tipo determinado, ocultando al usuario la casuística para elegir el subtipo que se crea. • Prototype (Prototipo): Crea nuevos objetos clonándolos de una instancia ya existente. • Singleton (Instancia única): Garantiza la existencia de una única instancia para una clase y la creación de un mecanismo de acceso global a dicha instancia.
  • 12. Métodos de desarrollo para web Patrones de diseño web Patrones estructurales Son los que plantean las relaciones entre clases, las combinan y forman estructuras mayores. Tratan de conseguir que los cambios en los requisitos de la aplicación no ocasionen cambios en las relaciones entre los objetos. Lo fundamental son las relaciones de uso entre los objetos, y éstas están determinadas por las interfaces que soportan los objetos. Estudian cómo se relacionan los objetos en tiempo de ejecución. Sirven para diseñar las interconexiones entre los objetos • Adapter (Adaptador): Adapta una interfaz para que pueda ser utilizada por una clase que de otro modo no podría utilizarla. • Bridge (Puente): Desacopla una abstracción de su implementación. • Composite (Objeto compuesto): Permite tratar objetos compuestos como si de uno simple se tratase. • Decorator (Envoltorio): Añade funcionalidad a una clase dinámicamente. • Facade (Fachada): Provee de una interfaz unificada simple para acceder a una interfaz o grupo de interfaces de un subsistema. • Flyweight (Peso ligero): Reduce la redundancia cuando gran cantidad de objetos poseen idéntica información. • Proxy: Mantiene un representante de un objeto.
  • 13. Métodos de desarrollo para web Patrones de diseño web Patrones de comportamiento Plantea la interacción y cooperación entre las clases. Los patrones de comportamiento estudian las relaciones entre llamadas entre los diferentes objetos, normalmente ligados con la dimensión temporal. Los patrones de comportamiento son: • Chain of Responsibility (Cadena de responsabilidad): Permite establecer la línea que deben llevar los mensajes para que los objetos realicen la tarea indicada. • Command (Orden): Encapsula una operación en un objeto, permitiendo ejecutar dicha operación sin necesidad de conocer el contenido de la misma. • Interpreter (Intérprete): Dado un lenguaje, define una gramática para dicho lenguaje, así como las herramientas necesarias para interpretarlo. • Iterator (Iterador): Permite realizar recorridos sobre objetos compuestos independientemente de la implementación de estos. • Mediator (Mediador): Define un objeto que coordine la comunicación entre objetos de distintas clases, pero que funcionan como un conjunto. • Memento (Recuerdo): Permite volver a estados anteriores del sistema. • Observer (Observador): Define una dependencia de uno-a-muchos entre objetos, de forma que cuando un objeto cambie de estado se notifique y actualicen automáticamente todos los objetos que dependen de él. • State (Estado): Permite que un objeto modifique su comportamiento cada vez que cambie su estado interno. • Template Method (Método plantilla): Define en una operación el esqueleto de un algoritmo, delegando en las subclases algunos de sus pasos, esto permite que las subclases redefinan ciertos pasos de un algoritmo sin cambiar su estructura. • Visitor (Visitante): Permite definir nuevas operaciones sobre una jerarquía de clases sin modificar las clases sobre las que opera. • Strategy (Estrategia): Permite disponer de varios métodos para resolver un problema y elegir cuál utilizar en tiempo de ejecución.
  • 14. Métodos de desarrollo para web Patrones de diseño web Técnica de diseño Web ancho fijo El contenido se ajusta a un ancho determinado y crece únicamente de manera vertical. Es lo más habitual, y por tanto, considerado un estándar bien soportado incluso por dispositivos de pantalla pequeña (móviles, tabletas, etc.), cuyos navegadores detectan este patrón y permiten ampliar por áreas la página presentada. El ancho más utilizado es el que se adapta a tamaños de pantalla de 1024 puntos de ancho, y la columna que forma el contenido suele presentarse centrada, y en menor medida con alineación a la izquierda.
  • 15. Métodos de desarrollo para web Patrones de diseño web Técnica de diseño Web diseño Web líquido El contenido ocupa todo el área visual disponible según el tamaño de pantalla y las dimensiones de la ventana del navegador. Este tipo de diseño es recomendado para sitios web con un marcado carácter práctico, esto es, herramientas accesibles a través de web.
  • 16. Métodos de desarrollo para web Patrones de diseño web Técnica de diseño Web patrón de diseño Web híbrido Es cuando en una web se combinan áreas con ancho fijo y otras con ancho variable. El resultado final es realmente una Web de diseño líquido que conserva las proporciones en determinadas áreas.
  • 17. Métodos de desarrollo para web Patrones de diseño web Técnica de diseño Web diseño Web para móviles Se atienden aspectos como a la disposición de contenidos, la cantidad de éstos, criterios de accesibilidad (menús, rutas de navegación), el peso de imágenes y archivos, etc.
  • 18. Métodos de desarrollo para web Patrones de diseño web Frase No es el patrón el que paga los sueldos, él solo tiene el dinero. Es el producto el paga los sueldos. Henry Ford