Post on 24-Jan-2015
description
PrototypePrototype(patrón de diseño)(patrón de diseño)
Jhonny ZarumaRommel Gutierrez
Contenido
1.1.DefiniciónDefinición
2.2.EstructuraEstructura
3.3.ParticipantesParticipantes
4.4.ColaboracionesColaboraciones
5.5.ConsecuenciasConsecuencias
6.6.DesventajasDesventajas
7.7.ImplementaciónImplementación
Definición
El patrón de diseño Prototype (Prototipo), tiene como finalidad crear nuevos objetos duplicándolos, clonando una instancia creada previamente.
Este patrón especifica la clase de objetos a crear mediante la clonación de un prototipo que es una instancia ya creada. La clase de los objetos que servirán de prototipo deberá incluir en su interfaz la manera de solicitar una copia, que será desarrollada luego por las clases concretas de prototipos.
Definición
El patrón Prototype es un patrón de diseño creacional en el que los objetos se crean a partir de una instancia prototípica, que es clonada para dar lugar a nuevos objetos.
Este patrón se usa en los siguientes casos: Para evitar las subclases de un objeto creador
como hace el patrón Abstract Factory. Para evitar el costo inherente a la creación de
un objeto nuevo mediante el operador new cuando esto demasiado costoso para la aplicación.
Definición
En si, este patrón propone la creación de distintas variantes de objetos que nuestra aplicación necesite. Toda la lógica necesaria para la decisión sobre el tipo de objetos que usará la aplicación en su ejecución se hace independiente, de manera que el código que utiliza estos objetos solicitará una copia del objeto que necesite. En este contexto, una copia significa otra instancia del objeto. El único requisito que debe cumplir este objeto es suministrar la funcionalidad de clonarse.
Estructura
Cliente: Es el encargado de solicitar la creación de los nuevos objetos a partir de los prototipos.
Prototipo Concreto: Posee una características concretas que serán reproducidas para nuevos objetos e implementa una operación para clonarse.
Prototipo: Declara una interfaz para clonarse, a la que accede el cliente.
Desventaja
La jerarquía de prototipos debe ofrecer la posibilidad de clonar un elemento y esta operación puede no ser sencilla de implementar. Por otro lado, si la clonación se produce frecuentemente, el coste puede ser importante.