设计模式-原型模式

概述

原型模式也是一种创建型的模式,该模式是主要用于创建对象的副本 ,复制原有的对象,而不是创建一个新的对象给新的对象赋值 ,减少了一些复杂度和消耗。主要就是继承一个原型的接口,然后实现一个克隆的方法,在复制对象的时候直接调用这个克隆方法。


原型模式

cs 复制代码
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

相关推荐
qq_2975746713 小时前
设计模式系列文章(基础篇第 11 篇):模板方法模式——定义算法骨架,实现代码复用与流程统一
算法·设计模式·模板方法模式
skywalk816316 小时前
根据言律的语法,能否用racket进行开发呢?主要探讨是否可行。 racket在这里:E:\Program Files\Racket\Racket.exe
开发语言·原型模式
狂人开飞机18 小时前
01. 工厂模式(Factory Pattern)
设计模式·c#
阿狸猿19 小时前
论软件设计模式及其应用
设计模式
workflower19 小时前
具身智能-三层结构
人工智能·设计模式·动态规划·软件工程·scrum
我爱cope19 小时前
【Agent智能体10 | 反思设计模式-AI数据分析的可视化实战】
人工智能·设计模式·数据分析
老码观察20 小时前
设计模式实战解读(七):适配器模式——让不兼容的接口无缝协作
java·设计模式·适配器模式
人月神话-Lee2 天前
【图像处理】框架设计——协议、值类型与工程化思维
图像处理·人工智能·ios·设计模式·架构·ai编程·swift
AI大法师2 天前
Xbox回归经典绿
大数据·设计模式·xbox