Patrones de diseño: Prototype

Slides:



Advertisements
Presentaciones similares
Diseño de Sistemas. Patrones de Diseño. Geronimo Manso.
Advertisements

Patrones Creacionales
Lenguajes de Programación Tema 3
Juan Manuel Perdigón Mario Felipe Monsalve
3.- Introducción a Patrones de Diseño
SOFTWARE PARA PAGOS DE SUELDOS Patrones de Diseño
PATRONES DE DISEÑO.
PATRÓN ADAPTER (Adaptador) Elena Moreno Ramírez Laura Sánchez Romero Aroa Solana Ruiz.
Patrones de diseño equipo n.1
Copyright 1996, Ricardo Devis Botella, Reservados todos los derechos.Página 1 Patrones de Diseño Tecnología de Objetos PATRONES DE DISEÑO por Ricardo Devis.
Proyecto Aula Virtual. Conceptos El Aula Virtual es una plataforma versátil que proporciona herramientas que facilitan la docencia presencial/semipresencial/virtual.
INTEGRANTES EVARISTO MINA ARROYO JULIO CESAR CUERO JOHN EDWIN URBANO MAFLA.
VISUALBEE. VisualBee es un software que te permite mejorar tus presentaciones mismos viejos en una presentación llena de gráficos de gran alcance. Para.
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.
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.
Conferencia 3: Paradigmas de la Orientación a Objetos Tema 1:Principios de la Tecnología de Objetos.
PLATAFORMA DE VIDEO E IMÁGENES Sarah Lia Prieto Rodriguez.
Partes de ventana de Access Carolina Pozo. Sexto “B”
Introducción a la Simulación. Simulación. Definición La simulación es una imitación de la operación de un proceso del mundo real o de un sistema, referido.
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.
PROGRAMACIÓN ORIENTADA A OBJETOS Encapsulamiento y constructores.
Arquitectura y Patrones de diseño.
Guía de implementación
METODOLOGÍA DE SISTEMAS
PROGRAMACIÓN ORIENTADA A OBJETOS
Tema 4: Ingeniería del Software
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
TIPOS ABSTRACTOS DE DATOS.
Programación Avanzada
Proyecto de Software. t07
Federico Rodriguez Bravo Ing. Jaime A. Pavlich-Mariscal Ph.D
Proyecto de Software. Clase 06
PROGRAMACION ESTRUCTURADA.
introducción Ingeniería de software
Conectividad de Bases de Datos
Sistema de Bases de Datos
TRABAJO BASE DE DATOS CARLOS MARTINEZ 7º3
República Bolivariana de Venezuela
Definición de redes de computadoras
Programación Avanzada
METODOLOGIA DEL DESARROLLO DE SISTEMAS
Patrones de diseño Catálogo
PREZI..
FACTORY METHOD Creación a nivel de clases.
PREZI.
Patrones de diseño Introducción.
CASOS DE USO.
La planeación y la organización de los procesos técnicos
Introducción Gabriel Montañés León.
Conceptos y protocolos de enrutamiento. Capítulo 5
Diagramas del modelo uml
Resumen: Análisis de requerimientos
Herramientas tecnológicas
Proceso Unificado de Desarrollo de Software
«CUADROS SINOPTICOS DE LAS FASES DEL MODELO DEL CICLO DE VIDA.»
UNIVERSIDAD TECNOLÓGICA EMILIANO ZAPATA
APLICACIONES II ° Patrones De Diseño ° Esteban Omar Mora Delgado
Modelo de interacción de usuario.  El Desarrollo basado en modelos de la interfaz de usuario, en inglés Model-based User Interface Development (MB-UID),
Conceptos de Objetos, Clases y Otros Modelo Conceptual
Java – programación orientada a objetos programación ii – iee
Fundamentos de programación
Desarrollo de sitios web
Pasos para el registro a MENDELEY a través del CONRICYT
Patrón de diseño: Factory Method
ESCUELA SUPERIOR POLITECNICA DEL LITORAL
Universidad Autónoma del Estado de México Facultad de Ingeniería Ingeniería en Computación Unidad de aprendizaje: Análisis de Sistemas Elementos Básicos.
Metodologías de Desarrollo Web
Diagrama de componentes
Unida III: Análisis y Diseño de Sistemas Orientado a Objetos
¿Quién debe asistir? Beneficios
Transcripción de la presentación:

Patrones de diseño: Prototype Integrantes: Limones Moscoso Ulises Vega López Amós Manuel Veloz Mochca Jorge Cruz

Intención Poder crear distintos objetos de un mismo tipo, usándose para ello una instancia prototípica que pueda clonarse a sí misma. Motivación De necesitarse una variedad de objetos que posean atributos repetitivos con datos distintos, pero que compartan un mismo tipo, y que esta variedad pueda ser aprovechada en el contexto adecuado dentro de una aplicación. Hay que pensar en este patrón como si fuese una fábrica que tiene ciertas plantillas de ejemplos de sus productos y, a partir de estos prototipos, puede crear una gran cantidad de productos con esas características.

Aplicabilidad Un sistema debe ser capaz de crear objetos sin conocer su clase exacta, como son creados, o que datos representan. Cuando las clases serán instanciadas durante el tiempo de ejecución. Cuando las instancias tienen unas cuantas combinaciones distintas y resulta más conveniente instalar prototipos y clonarlos en vez de crearlos manualmente con una ligera diferencia.

Estructura

Participantes y colaboraciones Prototipo: Declara una interfaz para clonarse, a la que accede el cliente Prototipo concreto: Implementa una operación para clonarse Cliente: Solicita la creación de nuevos objetos a partir de los prototipos Colaboradores El cliente solicita al objeto que se clone

Consecuencias Un programa puede dinámicamente añadir y borrar objetos prototipo en tiempo de ejecución. Esta es una ventaja que no ofrece ninguno de los otros patrones de creación. Esconde los nombres de los productos específicos al cliente. El objeto cliente puede también ser capaz de crear nuevos objetos de tipos prototipo. Se pueden especificar nuevos objetos prototipo variando los existentes. La clase Cliente es independiente de las clases exactas de los objetos prototipo que utiliza. También, la clase Cliente no necesita conocer los detalles de cómo construir los objetos prototipo.

Consecuencias Los objetos de prototipo concretos implementan el interface Prototype , de esta forma el patrón Prototype se asegura de que los objetos prototipo proporcionan un conjunto consistente de métodos para que los objetos clientes los utilicen. Se puede configurar una aplicación cargando clases dinámicamente. No hay necesidad de organizar los objetos prototipos en ningún orden de jerarquía de clases. Las subclases son reducidas.

Implementación Prototype Manager. Cuando el número de prototipos en un sistema es modificado dinámicamente se debe llevar un registro de los que están disponibles. Este registro es el Manager, al cual el cliente le solicitará un prototipo disponible antes de clonarlo. La operación clonación. Se trata de la operación más complicada, se debe tener en cuenta si se necesita una copia superficial donde copia y original comparten variables o una copia profunda, donde la copia necesite ser independiente. Inicialización. En algunos casos el cliente querrá inicializar los valores internos del clon, generalmente no se pasan parámetros en la operación de clonación puesto que se pueden establecer operaciones de reasignación dentro del prototipo.

Ejemplo

Usos conocidos En el Sketch-pad system de Ivan Sutherland, que permitió la manipulación directa de objetos gráficos. ThingLab, donde los usuarios formaban un objeto y podían instalarlo en una librería de prototipos reutilizables. En el Unidraw drawing framework en el que está basado el ejemplo del dibujo de notas musicales.

Patrones relacionados Composite: El patrón Prototype es utilizado a menudo con el patrón Composite. Abstract Factory: El patrón Abstract Factory puede ser una buena alternativa al patrón Prototype donde los cambios dinámicos que el patrón Prototype permite para los objetos prototipo no son necesarios. Pueden competir en su objetivo, pero también pueden colaborar entre sí. Facade: La clase cliente normalmente actúa comúnmente como un facade que separa las otras clases que participan en el patrón Prototype del resto del programa. Factory Method: El patrón Factory Method puede ser una alternativa al patrón Prototype cuando la paleta de objetos prototipo nunca contiene más de un objeto. Decorator: El patrón Prototype es utilizado a menudo con el patrón Decorator

Referencias Francisco Javier Martinez Juan. (Julio, 2000). Guía de construcción de software en java con patrones de diseño. Oviedo, España: Escuela universitaria de ingeniería técnica en informática de Oviedo. Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides. (1 de julio de 1997). Design Patterns Elements of Reusable Object-Oriented Software. Indianapolis, USA: Addison-Wesley.