Descargar la presentación
La descarga está en progreso. Por favor, espere
1
Patrones de diseño: Prototype
Integrantes: Limones Moscoso Ulises Vega López Amós Manuel Veloz Mochca Jorge Cruz
3
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.
4
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.
5
Estructura
6
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
7
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.
8
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.
9
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.
10
Ejemplo
13
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.
14
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
15
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.
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.