Prototype — RexDac Academy

RexDac AcademyNotas técnicas · Ayuda tener algunos conocimientos previos
0%Notas publicadas leídas · en este dispositivo

Principios y arquitectura / Patrones de diseño / Creacionales

Prototype

Notas originales de SunDiaL · Ver fuente en inglés

El problema: Necesitas duplicar un objeto. El problema adicional es que, para hacerlo, tienes que saber cómo, lo que implica conocer el tipo de la instancia (herencia) y tener acceso a los campos privados de la clase. La solución: Experto en información. ¿Qué clase es la más adecuada para resolver estos problemas? La propia clase.

public class PrototypeExample
{
	private string somePrivateField;
	
	public PrototypeExample Clone()
	{
		return new PrototypeExample
		{
			somePrivateField = this.somePrivateField;
		}
	}
}

.Net tiene una interfaz ICloneable para este propósito.