设计模式-原型模式

概述

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


原型模式

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

相关推荐
Asort20 分钟前
JavaScript设计模式(十六)——迭代器模式:优雅遍历数据的艺术
前端·javascript·设计模式
昨天的猫40 分钟前
原来我们写的单例还存在缺陷~~
设计模式
Tiny_React1 小时前
智能体设计模式-CH13:人类参与环节(Human-in-the-Loop)
设计模式
Tiny_React1 小时前
智能体设计模式-CH09:学习与适应(Learning and Adaptation)
设计模式
Tiny_React1 小时前
智能体设计模式-CH10:模型上下文协议(Model Context Protocol)
设计模式
Tiny_React1 小时前
智能体设计模式-CH11:目标设定与监控(Goal Setting and Monitoring)
设计模式
Deschen12 小时前
设计模式-外观模式
java·设计模式·外观模式
恋红尘19 小时前
设计模式详解
设计模式
Code_Geo1 天前
agent设计模式:第一章节—提示链
microsoft·设计模式·agent·模型
懂得节能嘛.1 天前
【设计模式】Java规则树重构复杂业务逻辑
java·开发语言·设计模式