You are on page 1of 28

Patrones de diseo Web

Programacin avanzada.

Keyword

Patrn
Es una solucin a un problema de
diseo no trivial que es
Efectiva: ha valido para resolver
el problema en diseos pasados
Reusable: la solucin es la
misma para problemas similares

Ventajas del diseo con patrones


Permiten reusar soluciones
probadas
Facilitan la comunicacin entre
diseadores
Los patrones tienen nombres
estndar
Facilitan el aprendizaje al
diseador inexperto

Caractersticas de un patrn
1. Contexto: situacin en la que se
presenta el problema de diseo.
2. Problema:
descripcin
del
problema
a
resolver,
y
enumeracin de las fuerzas a
equilibrar
(requisitos
no
funcionales como eficiencia,
portabilidad, cambiabilidad).
3. Solucin: conjunto de medidas
que se han de tomar, como crear
alguna clase, atributo o mtodo,
nuevos comportamientos entre
clases.

Patrn de diseo Web


Es un aspecto del diseo visual
por el que se determina la
disposicin general de los
elementos del sitio web en el rea
de visualizacin determinado por
el navegador.

Caractersticas patrones GOF


(Gang Of Four)
Son soluciones concretas. Proponen soluciones a problemas concretos, no son teoras genricas.
Son soluciones tcnicas. Indican resoluciones tcnicas basadas en Programacin Orientada a Objetos (POO).
En ocasiones tienen ms utilidad con algunos lenguajes de programacin 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 reutilizacin de cdigo. Ayudan a construir software basado en la reutilizacin, a construir


clases reutilizables. Los propios patrones se reutilizan cada vez que se vuelven a aplicar.
El uso de un patrn no se refleja en el cdigo. Al aplicar un patrn, el cdigo resultante no tiene por qu
delatar el patrn o patrones que lo inspir. No obstante ltimamente hay mltiples esfuerzos enfocados a la
construccin de herramientas de desarrollo basados en los patrones y frecuentemente se incluye en los
nombres de las clases el nombre del patrn en que se basan facilitando as la comunicacin entre
desarrolladores.
Es difcil reutilizar la implementacin de un patrn. Al aplicar un patrn aparecen clases concretas que
solucionan un problema concreto y que no ser aplicable a otros problemas que requieran el mismo patrn.

clasificacin GOF propsito


Patrones de Creacin
Patrones Estructurales
Patrones de Comportamiento

Patrones de creacin
Se encargan de la creacin de instancias de los
objetos. Abstraen la forma en que se crean los
objetos, permitiendo tratar las clases a crear de
forma genrica, dejando para despus la decisin de
que clase crear o cmo crearla. Segn donde se tome
dicha decisin se pueden clasificar los patrones de
creacin en: patrones de creacin de clases (la
decisin se toma en los constructores de las clases y
usan la herencia para determinar la creacin de las
instancias).

Abstract Factory (Fbrica 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
creacin de un objeto complejo, centralizando
dicho proceso en un nico punto.
Factory Method (Mtodo de fabricacin):
Centraliza en una clase constructora la creacin de
objetos de un subtipo de un tipo determinado,
ocultando al usuario la casustica para elegir el
subtipo que se crea.
Prototype (Prototipo): Crea nuevos objetos
clonndolos de una instancia ya existente.
Singleton (Instancia nica): Garantiza la existencia
de una nica instancia para una clase y la creacin
de un mecanismo de acceso global a dicha
instancia.

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
aplicacin no ocasionen cambios en las relaciones
entre los objetos. Lo fundamental son las relaciones
de uso entre los objetos, y stas estn determinadas
por las interfaces que soportan los objetos. Estudian
cmo se relacionan los objetos en tiempo de
ejecucin. Sirven para disear las interconexiones
entre los objetos

Adapter (Adaptador): Adapta una interfaz para que


pueda ser utilizada por una clase que de otro
modo no podra utilizarla.
Bridge (Puente): Desacopla una abstraccin de su
implementacin.
Composite (Objeto compuesto): Permite tratar
objetos compuestos como si de uno simple se
tratase.
Decorator (Envoltorio): Aade funcionalidad a una
clase dinmicamente.
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 idntica
informacin.
Proxy: Mantiene un representante de un objeto.

Patrones de comportamiento
Plantea la interaccin y cooperacin entre las clases. Los
patrones de comportamiento estudian las relaciones entre
llamadas entre los diferentes objetos, normalmente ligados con
la dimensin temporal. Los patrones de comportamiento son:
Chain of Responsibility (Cadena de responsabilidad): Permite
establecer la lnea que deben llevar los mensajes para que los
objetos realicen la tarea indicada.
Command (Orden): Encapsula una operacin en un objeto,
permitiendo ejecutar dicha operacin sin necesidad de
conocer el contenido de la misma.
Interpreter (Intrprete): Dado un lenguaje, define una
gramtica para dicho lenguaje, as como las herramientas
necesarias para interpretarlo.
Iterator (Iterador): Permite realizar recorridos sobre objetos
compuestos independientemente de la implementacin de
estos.

Mediator (Mediador): Define un objeto que coordine la


comunicacin 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-amuchos entre objetos, de forma que cuando un objeto
cambie de estado se notifique y actualicen automticamente
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 (Mtodo plantilla): Define en una
operacin 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 jerarqua de clases sin modificar las clases sobre las que
opera.
Strategy (Estrategia): Permite disponer de varios mtodos
para resolver un problema y elegir cul utilizar en tiempo de
ejecucin.

Desarrollo MVC.
Java Netbeans.

You might also like