« Patrons de conception/Prototype » : différence entre les versions

Contenu supprimé Contenu ajouté
Ligne 30 :
 
/// <summary>
/// Record isest thele Prototype
/// </summary>
public abstract class Record
Ligne 38 :
 
/// <summary>
/// PersonRecord isest the Concreteun Prototype concret
/// </summary>
public class PersonRecord : Record
Ligne 47 :
public override Record Clone()
{
return (Record)this.MemberwiseClone(); // defaultcopie shallowmembre copyà membre par défaut
}
}
 
/// <summary>
/// CarRecord isest anotherun Concreteautre Prototype concret
/// </summary>
public class CarRecord : Record
Ligne 61 :
public override Record Clone()
{
CarRecord clone = (CarRecord)this.MemberwiseClone(); // defaultcopie shallowmembre copyà membre par défaut
clone.id = Guid.NewGuid(); // alwaysgénérer generateun newnouvel ididentifiant unique pour la copie
return clone;
}
Ligne 68 :
 
/// <summary>
/// RecordFactory isest thela clientclasse utilisatrice
/// </summary>
public class RecordFactory
Ligne 75 :
 
/// <summary>
/// ConstructorConstructeur
/// </summary>
public RecordFactory()
Ligne 84 :
 
/// <summary>
/// TheMéthode Factoryde methodfabrication
/// </summary>
public Record CreateRecord(RecordType type)