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.