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

Slides:



Advertisements
Presentaciones similares
INGENIERÍA DE SOFTWARE Introducción Arquitectura de Software
Advertisements

Red Social: “Un millón de Amigos”.
FACHADA COMPOSITOR MEMENTO
Lenguaje de programación Java
PRODUCTOS DE INVESTIGACIÓN
Patrones de Diseño GEYFFER ALEXANDER ACOSTA CRISTHIAN DOUGLAS CASTRO
DECISIONES DE MERCADOTECNIA “Proceso de la toma de decisiones”
Aplicación del paradigma orientado a objetos
INTERFAZ DE ACCES DISEÑO DE BASE DE DATOS
PROGRAMACIÓN EN JAVA Curso-taller inicial de programación en JAVA Facultad de Estadística e Informática TEMA II.
El patrón de diseño Proxy Raúl Heras Alberto Blasco José Manuel Arévalo.
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.
Semana 5 Subprogramas..
Ingeniería de Software
Programación Orientada a Aspectos (POA)
Patrones Creacionales
DISEÑO DE SOFTWARE 1ª. Parte
Lenguajes de Programación Tema 3
Características de la interfaz de desarrollo
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.
1 Polimorfismo y Métodos Virtuales Agustín J. González ELO329.
Capítulo 13 Interconectividad: Conceptos, Arquitectura, y Protocolos
METODOLOGÍA OMT Diseño de sistemas.
Manejo de Punteros y objetos en memoria dinámica en C++
1 Algoritmos Avaros (Greedy Algorithms) Agustín J. González ELO-320: Estructura de Datos y Algoritmos 1er. Sem
WEBQUEST. ¿QUÈ ES UNA WEBQUEST?  Webquest significa indagación, investigación a través de la Web.  Consiste en presentarle al alumnado un problema,
3.- Introducción a Patrones de Diseño
Patrones de Diseño Carolina Perozo Julio Padrón Anthony Accardi.
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.
1 Manejo de Excepciones y otros Agustín J. González ELO-329.
¿Cómo llenar Formatos electrónicos?
Universidad Central de Venezuela Facultad de Ciencias Postgrado en Ciencias de la Computación Sistemas Distribuidos Albany Márquez.
El Proceso de Toma deDecisiones. El Proceso de Toma deDecisiones.
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6
1 Capítulo 21: Interacción Cliente Servidor ICD 327: Redes de Computadores Agustín J. González.
PATRONES DE DISEÑO.
PATRÓN ADAPTER (Adaptador) Elena Moreno Ramírez Laura Sánchez Romero Aroa Solana Ruiz.
1 Miembros Estáticos (Static) de Clases y Funciones Amigas (Friend) Agustín J. González ELO329.
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 Miembros Estáticos (Static) de Clases y Funciones Amigas (Friend) Agustín J. González Versión Original de Kip Irvine ELO326: Seminario II 2do. Sem
1 Interfaces y Clases Internas ELO-329: Diseño y programación orientados a objetos Agustín J. González.
1 Miembros Estáticos (Static) de Clases y Funciones Amigas (Friend) Agustín J. González Versión Original de Kip Irvine ELO329.
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.
Funciones y Clases Amigas (Friend)‏ Miembros Estáticos (Static)
El Hardware y el Software  Repasamos lo visto en clase  ¿Qué es el Software?  ¿Qué es el Hardware?
PROYECTO TECNOLÓGICO Mateo Guerra Alzate Cristian Herrera 9-D I
Introducción. ¿Que es una computadora? Maquina electrónica capaz de resolver problemas ejecutando las instrucciones de un programa: 1.recibe datos, 2.los.
Polimorfismo y Métodos Virtuales Agustín J. González ELO329.
Introducción a UML Departamento de Informática Universidad de Rancagua
Sistemas de eventos discretos.
Interfaces y Clases Internas
Herencia y Clases Abstractas
Patrones de diseño Grupo 1 Haeberli, Julián Lara, Guisell
1 Miembros Estáticos (Static) de Clases y Funciones Amigas (Friend)‏ Agustín J. González ELO329.
El diseño de interacción es la disciplina encargada de definir cómo se utilizan los productos y servicios interactivos. Su objetivo es asegurar que los.
INGENIERIA EN SISTEMAS COMPUTASIONALES. SISTEMAS EXPERTOS Es una aplicación informática capaz de solucionar un conjunto de problemas que exigen un gran.
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.
Diseño de interacción. El diseño de interacción es la disciplina encargada de definir cómo se utilizan los productos y servicios interactivos. Su objetivo.
Presentación De UML Lenguaje estándar para escribir planos de software Se usa para visualizar, especificar, construir y documentar los artefactos de un.
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.
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:

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

Introducción Un patrón de diseño es una solución general reusable a un problema común recurrente. No es una solución definitiva directamente usable en el código, sino es una descripción sobre cómo resolver el problema. En electrónica existen circuitos recomendados para realizar tareas comunes como amplificar señales, crear filtros, etc. Los patrones de diseño son algo similar, pero con menor detalle. Es más natural observar su utilidad cuando ya hemos trabajado en varios proyectos.

Beneficios Usar estructuras de soluciones ya pensadas conduce a diseños más robustos en menor tiempo de desarrollo. Si en la documentación se señala el uso de un patrón de diseño, quienes re-visiten el proyecto a futuro saben qué cosas esperar en la solución.

Tipos de patrones de diseño Los patrones de diseño se han clasificado según su propósito en patrones para crear objetos, patrones para definir relaciones entre objetos (se conoce como patrón estructural), patrones de comportamiento y patrones para manejar concurrencia. Un paradigma o arquitectura común y previa al concepto de patrón de diseño es la arquitectura Modelo-vista- controlador usado para el desarrollo de sistemas con interfaces gráficas. Este modelo fue usado en la tarea 2 y 3.

Ejemplo: Singleton Veremos un patrón de diseño conocido como singleton y el patrón de arquitectura Modelo-vista-controlador Singleton: es usado cuando se desea crear sólo una instancia de un determinado objeto. Este patrón ha recibido críticas, por ejemplo, porque introduce un estado global para la aplicación. Este patrón se usa cuando por alguna razón deseamos tener acceso a una misma instancia cada vez. Lo usamos cuando crear más de una instancia sería un error.

Singleton class Singleton { private: static Singleton _instance; // the unique instance of the class Singleton() {} ~Singleton() {} Singleton(const Singleton &); // intentionally undefined Singleton & operator=(const Singleton &); // intentionally undefined public: static Singleton &getInstance(); }; // Source file (.cpp) // Static member initialization. Singleton Singleton::_instance; Singleton &Singleton::getInstance() { return _instance; }

Singleton Esta implementación del singleton posee algunos aspectos mejorables, por ejemplo: Ya sea que se cree o no instancias de esta clase, siempre existirá una ocupando espacio de memoria. Hay otras versiones de singleton más elaboradas que resuelven estos problemas, ver por ejemplo Wikipedia.

Modelo vista controlador Es un patrón estructural Vistas Controlador Modelo Ver ejemplo en página del ramo.