原型模式也是一种创建型的模式,该模式是主要用于创建对象的副本,复制原有的对象,而不是创建一个新的对象给新的对象赋值 ,减少了一些复杂度和消耗。主要就是继承一个原型的接口,然后实现一个克隆的方法,在复制对象的时候直接调用这个克隆方法。
- internal class Program
- {
- private static void Main(string[] args)
- {
- Students OriStu = new Students("小明", 15);//初始数据
- Students CloneStu = (Students)OriStu.Clone();//克隆数据
- Console.WriteLine("初始: " + OriStu);
- Console.WriteLine("克隆: " + CloneStu);
- }
- }
- public interface IProto//原型接口
- {
- IProto Clone();
- }
- public class Students : IProto//学生类
- {
- public string Name { get; set; }
- public int Age { get; set; }
-
- public Students(string name, int age)
- {
- Name = name;
- Age = age;
- }
-
- public IProto Clone()
- {
- return new Students(Name, Age);
- }
-
- public override string ToString()
- {
- return $"学生: 姓名={Name}, 年龄={Age}";
- }
- }
输出结果:
初始: 学生: 姓名=小明, 年龄=15
克隆: 学生: 姓名=小明, 年龄=15