static void Main(string[] args) { //----------------------Factory----------------------------- Developer developer1 = new JavaDeveloper("JAVADeveloper"); Developer developer2 = new CDeveloper("CDeveloper"); developer1.GetCode(); developer2.GetCode(); //---------------AbstractFactory----------------------------- Dictator dictator1 = new Dictator(new LukaFactory()); Dictator dictator2 = new Dictator(new KimChenInFactory()); dictator1.Speak(); dictator2.Speak(); //---------------Singleton---------------------------------- Albert albert = Albert.getInstance(19); Console.WriteLine(albert.Age); Albert albert2 = Albert.getInstance(150); Console.WriteLine(albert2.Age); //---------------Prototype---------------------------------- Person person = new Person("gray", new Consciousness(120)); Person clone = person.Clone(); clone.Consciousness.IQ = 100; Console.WriteLine($"person color: {person.EyeColor}\tclone color: {clone.EyeColor}\n" + $"person IQ: {person.Consciousness.IQ}\tclone IQ: {clone.Consciousness.IQ}"); }
public void DeepClone_Albert(TypeModel model) { var albert = new Albert { Age = 23, NbChildren = 20 }; var cloneAlbert = (Albert)model.DeepClone(albert); Assert.AreEqual(albert.Age, cloneAlbert.Age); Assert.AreEqual(albert.NbChildren, cloneAlbert.NbChildren); }