Prototype — RexDac Academy

RexDac AcademyNote tehnice · Ajută să ai câteva noțiuni de bază
0%Note publicate citite · pe acest dispozitiv

Principii și arhitectură / Șabloane de proiectare / Creaționale

Prototype

Note originale de SunDiaL · Vezi sursa în engleză

Problema: Trebuie să duplici un obiect. Problema suplimentară este că, pentru a face asta, trebuie să știi cum, ceea ce presupune să cunoști tipul instanței (moștenirea) și să ai acces la câmpurile private ale clasei. Soluția: Expertul informațional. Care clasă este cea mai potrivită să rezolve aceste probleme? Clasa însăși.

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

.NET are o interfață ICloneable în acest scop.