patrones intro mvc
DESCRIPTION
Patrones JavaTRANSCRIPT
-
Programacin avanzada.
Patrones de diseo Web
-
Keyword
-
Patrn
Es una solucin a un problema dediseo no trivial que es
Efectiva: ha valido para resolverel problema en diseos pasados
Reusable: la solucin es lamisma para problemas similares
Ventajas del diseo con patrones
Permiten reusar solucionesprobadas
Facilitan la comunicacin entrediseadores
Los patrones tienen nombresestndar
Facilitan el aprendizaje aldiseador inexperto
-
Caractersticas de un patrn
1. Contexto: situacin en la que sepresenta el problema de diseo.
2. Problema: descripcin delproblema a resolver, yenumeracin de las fuerzas aequilibrar (requisitos nofuncionales como eficiencia,portabilidad, cambiabilidad).
3. Solucin: conjunto de medidasque se han de tomar, como crearalguna clase, atributo o mtodo,nuevos comportamientos entreclases.
-
Patrn de diseo Web
Es un aspecto del diseo visualpor el que se determina ladisposicin general de loselementos del sitio web en el reade visualizacin determinado porel 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 acualquier lenguaje.
Se utilizan en situaciones frecuentes. Debido a que se basan en la experiencia acumulada al resolverproblemas reiterativos.
Favorecen la reutilizacin de cdigo. Ayudan a construir software basado en la reutilizacin, a construirclases 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 qudelatar el patrn o patrones que lo inspir. No obstante ltimamente hay mltiples esfuerzos enfocados a laconstruccin de herramientas de desarrollo basados en los patrones y frecuentemente se incluye en losnombres de las clases el nombre del patrn en que se basan facilitando as la comunicacin entredesarrolladores.
Es difcil reutilizar la implementacin de un patrn. Al aplicar un patrn aparecen clases concretas quesolucionan 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 losobjetos. Abstraen la forma en que se crean losobjetos, permitiendo tratar las clases a crear deforma genrica, dejando para despus la decisin deque clase crear o cmo crearla. Segn donde se tomedicha decisin se pueden clasificar los patrones decreacin en: patrones de creacin de clases (ladecisin se toma en los constructores de las clases yusan la herencia para determinar la creacin de lasinstancias).
Abstract Factory (Fbrica Abstracta): Permitetrabajar con objetos de distintas familias demanera que las familias no se mezclen entre s yhaciendo transparente el tipo de familia concretaque se est usando.
Builder (Constructor virtual): Abstrae el proceso decreacin de un objeto complejo, centralizandodicho proceso en un nico punto.
Factory Method (Mtodo de fabricacin):Centraliza en una clase constructora la creacin deobjetos de un subtipo de un tipo determinado,ocultando al usuario la casustica para elegir elsubtipo que se crea.
Prototype (Prototipo): Crea nuevos objetosclonndolos de una instancia ya existente.
Singleton (Instancia nica): Garantiza la existenciade una nica instancia para una clase y la creacinde un mecanismo de acceso global a dichainstancia.
-
Patrones estructurales
Son los que plantean las relaciones entre clases, lascombinan y forman estructuras mayores. Tratan deconseguir que los cambios en los requisitos de laaplicacin no ocasionen cambios en las relacionesentre los objetos. Lo fundamental son las relacionesde uso entre los objetos, y stas estn determinadaspor las interfaces que soportan los objetos. Estudiancmo se relacionan los objetos en tiempo deejecucin. Sirven para disear las interconexionesentre los objetos
Adapter (Adaptador): Adapta una interfaz para quepueda ser utilizada por una clase que de otromodo no podra utilizarla.
Bridge (Puente): Desacopla una abstraccin de suimplementacin.
Composite (Objeto compuesto): Permite tratarobjetos compuestos como si de uno simple setratase.
Decorator (Envoltorio): Aade funcionalidad a unaclase dinmicamente.
Facade (Fachada): Provee de una interfaz unificadasimple para acceder a una interfaz o grupo deinterfaces de un subsistema.
Flyweight (Peso ligero): Reduce la redundanciacuando gran cantidad de objetos poseen idnticainformacin.
Proxy: Mantiene un representante de un objeto.
-
Patrones de comportamiento
Plantea la interaccin y cooperacin entre las clases. Lospatrones de comportamiento estudian las relaciones entrellamadas entre los diferentes objetos, normalmente ligados conla dimensin temporal. Los patrones de comportamiento son:
Chain of Responsibility (Cadena de responsabilidad): Permiteestablecer la lnea que deben llevar los mensajes para que losobjetos realicen la tarea indicada.
Command (Orden): Encapsula una operacin en un objeto,permitiendo ejecutar dicha operacin sin necesidad deconocer el contenido de la misma.
Interpreter (Intrprete): Dado un lenguaje, define unagramtica para dicho lenguaje, as como las herramientasnecesarias para interpretarlo.
Iterator (Iterador): Permite realizar recorridos sobre objetoscompuestos independientemente de la implementacin deestos.
Mediator (Mediador): Define un objeto que coordine lacomunicacin entre objetos de distintas clases, pero quefuncionan como un conjunto.
Memento (Recuerdo): Permite volver a estados anterioresdel sistema.
Observer (Observador): Define una dependencia de uno-a-muchos entre objetos, de forma que cuando un objetocambie de estado se notifique y actualicen automticamentetodos los objetos que dependen de l.
State (Estado): Permite que un objeto modifique sucomportamiento cada vez que cambie su estado interno.
Template Method (Mtodo plantilla): Define en unaoperacin el esqueleto de un algoritmo, delegando en lassubclases algunos de sus pasos, esto permite que lassubclases redefinan ciertos pasos de un algoritmo sincambiar su estructura.
Visitor (Visitante): Permite definir nuevas operaciones sobreuna jerarqua de clases sin modificar las clases sobre las queopera.
Strategy (Estrategia): Permite disponer de varios mtodospara resolver un problema y elegir cul utilizar en tiempo deejecucin.
-
Desarrollo MVC.
Java Netbeans.