Cerrar Bienvenido
Cerrar Registrate

Ya somos 1.504.053 Forros navegando...

3294 usuarios conectados | 1.504.053 forros | 368.127 temas | 4.384.247 mensajes | seremos forros, pero somos una bocha

Patrón diseño prtotype en el foro de Programación:


Hola a todos, necesito saber si alguien sabe como puedo aplicar el patrón de diseño prototype, lo debo exponer en clases y debo presentar un ejemplo en c sharp....favor responder a la bervedad........

Datos del Tema
Creado el 19.10.09 a las 20:13
  • 0 Votos
  • 0
    Favoritos
  • 91
    Visitas
  • 1
    Mensajes
¡Tema agregado a Favoritos!
Ya tienes este tema en Favoritos
Error
¡Buen Tema!0 Votos Disponibles
¡Tu voto ha sido enviado!
Ya has votado por este tema
[Error]
No puedes votar tu propio tema
No puedes votar a usuarios baneados
No puedes votar en un tema cerrado
javierdark4671 está desconectado está offline
Registro: 19 de octubre de 2009
Mensajes: 1
Viejo 19.10.09, 20:13
Hola a todos, necesito saber si alguien sabe como puedo aplicar el patrón de diseño prototype, lo debo exponer en clases y debo presentar un ejemplo en c sharp....favor responder a la bervedad.....
Politicamente incorrecto
TUTEX está desconectado está offline
Registro: 05 de agosto de 2006
Sexo: Hombre
Ciudad: Interior
Mensajes: 77
Viejo 22.10.09, 03:39
En Wiki esta bastante claro.... cualquier cosa, recurri al libro de "Gang of Four" creo que se llamaba "Desing patterns" simple =P

El patrón de diseño Prototype (Prototipo), tiene como finalidad crear nuevos objetos duplicándolos, clonando una instancia creada previamente.



Y un ejemplo en java, asi que mucho no te va a variar en C#, a modo de ejemplo, mas que nada:

public interface Producto extends Cloneable {
Object clone();
// Aqui van todas las operaciones comunes a los productos que genera la factoria
}

// Un ejemplo basico de producto
public class UnProducto implements Producto {
private int atributo;

UnProducto(int atributo) {
this.atributo = atributo;
}

public Object clone() {
return new UnProducto(this.atributo);
}

public String toString() {
return ((Integer)atributo).toString();
}
}

// La clase encargada de generar objetos a partir de los prototipos
public class FactoriaPrototipo {
private HashMap mapaObjetos;
private String nombrePorDefecto;

public FactoriaPrototipo() {
mapaObjetos = new HashMap();
// Se incluyen al mapa todos los productos prototipo
mapaObjetos.put("producto 1", new UnProducto(1));
}

public Object create() {
return create(nombrePorDefecto);
}

public Object create(String nombre) {
nombrePorDefecto = nombre;
UnProducto objeto = (UnProducto)mapaObjetos.get(nombre);
return objeto != null ? objeto.clone() : null;
}
}

public class PruebaFactoria {
static public void main(String[] args) {
FactoriaPrototipo factoria = new FactoriaPrototipo();
Producto producto = (Producto) factoria.create("producto 1");
System.out.println ("Este es el objeto creado: " + producto);
}
}
La mejor manera de librarse de la tentación es caer en ella.
Oscar Wilde

Herramientas Buscar en este tema
Buscar en este tema:

Búsqueda avanzada
Iniciar Sesion

Recordarme

Top de Temas

  • No hay temas votados

Top de Usuarios

  • No hay usuarios votados
ElServer