1 Diseño de Patrones Agustín J. González ELO329. Generalidades En Electrónica y en la vida en común usar soluciones probadas para problemas similares.

Slides:



Advertisements
Presentaciones similares
MODELOS ORIENTADOS A OBJETOS
Advertisements

Curso de java básico (scjp)
Observador (observer) Visita (Visitor) Singleton
FACHADA COMPOSITOR MEMENTO
Diagrama de Clases Por: Ing. Juan Carlos Contreras Villegas
Fundamentos de la programación orientada a objetos
Lenguaje de programación Java
UML 1.4 Peter Emerson Pinchao Solis.
Polimorfismo Unidad 4.
Metodologías OMT Republica bolivariana de Venezuela
Introducción a la Orientación a Objetos
Programación Orientada a Objetos (P.O.O.)
Patrones de Diseño GEYFFER ALEXANDER ACOSTA CRISTHIAN DOUGLAS CASTRO
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno.
Ingeniería del Software
PROGRAMACION ORIENTADA
U NIDAD III P ROGRAMACIÓN O RIENTADA A O BJETOS (POO) Facilitadora: Ing. Patricia Gómez.
El paradigma de la orientación a objetos La programación orientada a objetos genera códigos eficientes y estandariza la metodología de programación, además.
Profesor: Miguel Angel Vidal
El patrón de diseño Proxy Raúl Heras Alberto Blasco José Manuel Arévalo.
• Enfoque cualitativo El cuantitativo “utiliza la recolección y el análisis de datos para contestar preguntas de investigación y probar hipótesis establecidas.
1 Herencia en Java Agustín J. González Diseño y Programación Orientados a Objetos.
Diseño de Sistemas. Patrones de Diseño. Geronimo Manso.
1 Interfaces Agustín J. González ELO Introducción En C++ se permite la herencia múltiple; es decir, es posible derivar una clase de dos o más clases.
Patrones de Comportamiento: Patrón de Diseño Observer
Patrón Observador Un patrón de diseño es una descripción de clases y objetos comunicándose entre si adaptada para resolver un problema de diseño general.
* FRAUSTO JIMENEZ GABRIELA * * HERNANDEZ TORRES ANA LAURA * * MANDUJANO JUAN CARLOS * * NOVA MARIN YARELI PAULINA * * ZAVALA CORTE JOCELYN ARELI *
Ingeniería de Software

Patrones Creacionales
Lenguajes de Programación Tema 3
Presentado por Alfredo de la Mora Díaz Catedrático Dr. Jesús Favela
1 Diseño Orientado a Objetos Agustín J. González ELO-329: Diseño y Programación Orientados a Objetos 1er. Sem
ELO-329: Diseño y Programación Orientados a Objetos 1 Conceptos ELO329: Diseño y Programación Orientados a Objetos.
Juan Manuel Perdigón Mario Felipe Monsalve
INGENIERIA DE SOFTWARE GUILLERMO OCHOA GAVIRIA Octubre 2006 Factory Method.
Patrones de Diseño Carolina Perozo Julio Padrón Anthony Accardi.
Patrones de diseño Web Pierre Sergei Zuppa Azúa.
SOFTWARE PARA PAGOS DE SUELDOS Patrones de Diseño
PATRONES DE DISEÑO.
Interfaces y Clases Internas ELO329: Diseño y Programación Orientados a Objetos.
1 Diseño Orientado al Objeto Agustín J. González ELO-326: Seminario de Computadores II 2do. Sem
Interfaces ELO329: Diseño y Programación Orientados a Objetos.
1 Herencia en Java Agustín J. González Diseño y Programación Orientados a Objetos.
1 Interfaces y Clases Internas ELO-329: Diseño y programación orientados a objetos Agustín J. González.
1 Interfaces y Clases Internas ELO-329: Diseño y programación orientados a objetos Agustín J. González.
Herencia. Introducción La idea básica es poder crear clases basadas en clases ya existentes. Cuando heredamos de una clase existente, estamos re-usando.
Facultad de Ingeniería
Funciones y Clases Amigas (Friend)‏ Miembros Estáticos (Static)
Ingeniería de Requisitos
Departamento de Sistemas Informáticos y Programación Universidad Complutense de Madrid Simulación del patrón … (3)
El ojo sólo ve lo que su mente le permite.
Herencia y Clases Abstractas
Patrones de diseño equipo n.1
Algoritmos y Programación III
Patrones de diseño Grupo 1 Haeberli, Julián Lara, Guisell
Jairo Pinto Ing. sistemas
PROGRAMACIÓN IV INTRODUCCIÓN.
Tipo de relación entre clases Es uno de los aspectos que distinguen el paradigma de orientación a objetos frente a otros paradigmas. Mecanismo que,
Patrones de Diseño Agustín J. González ElO329.
Introducción AOO. Contenido - Introducción - Repaso de Orientación a Objetos - UML - Casos de Uso.
Ingeniería de Software Agustín J. González ElO329: Diseño y Programación Orientados a Objeto Adaptado de:
Herencias Conceptos básicos i
Programación Orientada a Objetos Unidad 5. Los objetos son entidades que combinan estado Contiene toda la información denominados atributos REPASO Cada.
Factorías e Iterables Introducción del concepto de patrón de diseño Construcción de tipos para recorridos con for extendido Fundamentos de Programación.
Modelado UML Diagrama de Clases
Patrones de diseño en ING. Del software. ¿Qué es un patrón?  Es una solución a un software el cual esta creado o no mediante un patrón de diseño, es.
Patrones de Diseño Agustín J. González ElO329.
Patrones de Diseño Agustín J. González ElO329.
Patrones de Diseño Agustín J. González ElO329.
Transcripción de la presentación:

1 Diseño de Patrones Agustín J. González ELO329

Generalidades En Electrónica y en la vida en común usar soluciones probadas para problemas similares. Ej.: amplificador tipo A, filtro pasa bajos, etc. Es razonable rediseñar uno desde cero? Moraleja: Variaciones de los mismos problemas aparecen en diferentes sistemas. => Una solución -un patrón- puede ser usado para resolver tales problemas. Un patrón de diseño es una manera de reusar conocimiento abstracto sobre un problema y su solución. Patrones son instrumentos para permitir a los programadores compartir conocimiento sobre sus diseños.

Generalidades (cont.)‏ Un patrón es una descripción del problema y la esencia de su solución. Un patrón debería ser suficientemente abstracto para ser reusado en diferentes situaciones. Los patrones generalmente usan características de los lenguajes OO tales como herencia y polimorfismo. En un sentido más amplio, podemos considerar que la recursión, la idea de “dividir para conquistar”, son patrones para en algoritmos.

Elementos de un Patrón Nombre Un identificador apropiado, con buen significado para el patrón Descripción del problema Descripción de la solución No es un diseño concreto pero una platilla para el diseño de la solución que puede ser instanciado de diferentes maneras. Consecuencias El resultado y los efectos de su aplicación.

Tipos de patrones De creación Abstract Factory Estructurales Adapter Façade Proxy De comportamiento Observer Mediator Esta idea tiene detractores, por ejemplo existe al patrón Singleton; pero algunos opinan que es un anti-patrón por considerarlo un eufemismo para una variable global.

Patterns by Example: Vistas múltiples gracias al Observador (Observer)‏ A=10% B=40% C=30% D=20% Application data A B C D ADCB Relative Percentages Y X Z A B C D Change notification Requests, modifications

Patrón Observador Nombre: Observer Descripción Separa el despliegue del estado de un objeto del objeto mismo. Descripción del problema Es usado cuando múltiples vistas del estado son requeridas. Descripción de la solución Ver lámina con descripción UML Consecuencias Optimizaciones para mejorar la eficiencia del despliegue son poco prácticas.

El Patrón Observador Subject attach (Observer)‏ detach (Observer)‏ Notify ()‏ Observer Update()‏ Concrete Observer Update()‏ observerState Concrete Subject GetState()‏ SetState()‏ subjectState observers subject For all x in observers{ x  Update(); } observerState= subject  getState();

Patrón Observador: explicación Subject: es la clase provee los mecanismos para para agregar o eliminar observadores del cambio que deseamos monitorizar. Contiene los métodos: Attach – Agrega un nuevo observador al sujeto. Detach – Remueve un observador existente. Notify – Notifica a cada observador llamando el método update() sobre cada observador, cuando un cambio ocurre en el sujeto. ConcreteSubject: Es la clase derivada de Subjet encargada de invocar a update() cuando un cambio ocurre. Contiene métodos que permiten obtener su estado. Observer: clase base para los objetos observadores. Contiene el método update(). ConcreteObserver: Clase derivada de Observer que implementa el método update().

¿ Por qué usar patrones? Por que es una forma de compartir las buenas prácticas. Ofrece un vocabulario común entre diseñadores. Permite reusar el diseño, no sólo el código. Ayuda a documentar los diseños. La próxima clase veremos más patrones.