sábado, 9 de mayo de 2009
Prototype

Prototype tiene un objeto que se utiliza como base para crear una nueva instancia con los mismos valores. Proporcionar un "crear en base al estado existente" este comportamiento permite a los programas realizar operaciones como impulsado por los usuarios a copiar, y para inicializar los objetos a un estado que se ha establecido a través del uso del sistema. Esto es a menudo preferible a inicializar el objeto con un conjunto genérico de algunos valores.

Características generales de este patrón:

Nombre:

Prototype.

Propósito:

El objetivo de este patrón es especificar los tipos de objetos a crear por medio de una instancia que hace de prototipo, creando nuevos objetos copiando dicha instancia.

Aplicabilidad:

Este patrón se utiliza generalmente cuando:

· Las clases a instanciar sean especificadas en tiempo de ejecución.

· Para evitar construir una jerarquía de clases de fábricas paralela a la jerarquía de clases de producto.

· Cuando las instancias de una clase puedan tener uno de entre sólo unos pocos estados diferentes.

Estructura:


Participantes:

· Prototype: Declara una interfaz para clonarse.

· ConcretePrototype: Implementa una operación para clonarse.

· Cliente: Crea un nuevo objeto pidiéndole a un prototype que se clone.

Implementación:

· Usar un gestor de prototype: Cuando el número de prototypes no es fijo (cuando pueden ser creados y destruidos dinámicamente).

· Implementar la operación Clone.

· Inicializar los clones (Personalizarlos).

Colaboraciones:

· Un cliente solicita a un prototype que se clone a si mismo.

Consecuencias:

· Se pueden agregar y eliminar productos en tiempo de ejecución.

· Permite configurar una aplicación con clases dinámicamente.

· Especificar nuevos objetos modificando valores.

· Especificar nuevos objetos variando la estructura.

Patrones relacionados:

· Abstract factory.

· Factory method.

Etiquetas: , ,

 
posted by Camilo Mojica at 22:00 | Permalink |


0 Comments: