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

Slides:



Advertisements
Presentaciones similares
Patrones Creacionales
Advertisements

1 Miembros Estáticos (Static) de Clases y Funciones Amigas (Friend) Agustín J. González ELO329.
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 Miembros Estáticos (Static) de Clases y Funciones Amigas (Friend) Agustín J. González Versión Original de Kip Irvine ELO329.
Funciones y Clases Amigas (Friend)‏ Miembros Estáticos (Static)
1 Miembros Estáticos (Static) de Clases y Funciones Amigas (Friend)‏ Agustín J. González ELO329.
Patrones de Diseño Agustín J. González ElO329.
1 Patrones de Diseño (...o bien, que tiene que ver la costura con el software...) Universidad de los Andes Demián Gutierrez Marzo 2010.
Clase práctica Nº 1. Introducción al entorno de desarrollo Eclipse. Dpto. de Ciencias e Ingeniería de la Computación. Universidad Nacional del Sur.
Herencia y Clases Abstractas ELO329: Diseño y Programación Orientados a Objetos.
UTFSM-Electrónica 1 Fundamentos de Java Agustín J. González Programación de Sistemas: ELO-330.
SOFTWA RE APLICATIVO Y DE DESARROLLO. Software aplicativo Software de Aplicación es todo programa informático diseñado para facilitar al usuario la realización.
Laboratorio de Project Aplicación para la Gestión de Proyectos que ayuda a organizar un proyecto en diferentes tareas en un tiempo determinado.
PROGRAMACIÓN 9 NO NIVEL B PATRONES DE DISEÑO. Son un esquema que definen una estructura para el desarrollo de aplicaciones Se usa con la finalidad de.
Conferencia # 3 Ingeniería de Software II
Conceptos ELO329: Diseño y Programación Orientados a Objetos
TERMINOLOGÍA BÁSICA Informática: conjunto de conocimientos científicos y técnicas que hacen posible el tratamiento automático y racional de la información,
. Primera Open Class Asignatura: Programación Estructurada Tema:
PROGRAMACIÓN ORIENTADA A OBJETOS
Proceso para el desarrollo de software
Título proyecto Introducción Implementación / Pruebas Objetivos
Polimorfismo y Métodos Virtuales
Manejo de Punteros y objetos en memoria dinámica en C++
Metodología y Técnicas en Proyectos software para la Web
Algunas Características de C++ no presentes en C
Patrones de Diseño Agustín J. González ElO329.
Proceso de Desarrollo de SW
Patrones de Diseño Agustín J. González ElO329.
introducción Ingeniería de software
INTRODUCCIÓN Elmasri: Pág
SISTEMAS OPERATIVOS: PROPIETARIOs Y LIBREs.
Funciones y Clases Amigas (Friend)‏ Miembros Estáticos (Static)
Funciones y Clases Amigas (Friend)‏ Miembros Estáticos (Static)
Taller de Momentos de la Clase
Capacitación Macros en Excel
Funciones y Clases Amigas (Friend)‏ Miembros Estáticos (Static)
Algunas Características de C++ no presentes en C
Patrones de Diseño Agustín J. González ElO329.
Agustín J. González ELO-329
Introducción a Visual Studio .NET
La planeación y la organización de problemas técnicos y el trabajo por proyectos en los procesos productivos.
FACTORY METHOD Creación a nivel de clases.
¿Qué es ITIL? “Information Technology Infrastructure Library”
República Bolivariana De Venezuela Universidad Alejandro de Humboldt
Capa Aplicación: File Transfer Protocol
UNIVERSIDAD TECNOLÓGICA EMILIANO ZAPATA
Proceso de Desarrollo de SW
MODELO ADDIE. MODELO ADDIE El modelo ADDIE es un proceso de diseño Instruccional interactivo, en donde los resultados de la evaluación formativa de.
Funciones y Clases Amigas (Friend)‏ Miembros Estáticos (Static)
Desarrollo de sitios web
LA INVESTIGACIÓN CIENTÍFICA.
LA INVESTIGACIÓN CIENTÍFICA.
FUENTES GONZÁLEZ, JONY MARDOQUEO
Patrón de diseño: Factory Method
Optimización de Procesos.
FUNCIONES Y PROCEDIMIENTOS
Conceptos ELO329: Diseño y Programación Orientados a Objetos
Instituto Tecnológico de Zacatecas
Estructura de los sistemas Operativos 1. Componentes de un sistema operativo  Administración de procesos  Administración de memoria  Subsistema de Entrada/Salida.
Estructura de los Sistemas Operativos Alumna:Arratea Almeyda Aracelli.
CC 1002: Introducción a la Programación Clase 19
Patrones de Diseño Agustín J. González ElO329.
Paquetes y Documentación en Java
Funciones y Clases Amigas (Friend)‏ Miembros Estáticos (Static)
Funciones y Clases Amigas (Friend)‏ Miembros Estáticos (Static)
Agustín J. González ELO-329
MAPEO DE NEGOCIO.
Polimorfismo en C++ y Métodos Virtuales
MAPEO DE NEGOCIO.
Funciones y Clases Amigas (Friend)‏ Miembros Estáticos (Static)
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 (Amplificador clase A, clase B), crear filtros (Butterworth), 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.

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 material de apoyo en página de la asignatura.

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