原型(Prototype)模式 创建型模式
将一个对象作为原型,通过对其进行复制而克隆出多个和原型类似的新实例。
c#
// 原型模式示例
using System;
// 声明一个抽象类,作为原型类
abstract class Prototype
{
public abstract Prototype Clone();
}
// 声明一个具体类,继承自原型类
class ConcretePrototype : Prototype
{
private string _name;
// 构造函数
public ConcretePrototype(string name)
{
this._name = name;
}
// 实现Clone方法,返回一个新的ConcretePrototype对象
public override Prototype Clone()
{
return new ConcretePrototype(this._name);
}
// 打印对象的名称
public void PrintName()
{
Console.WriteLine("Name: " + this._name);
}
}
class Program
{
static void Main(string[] args)
{
// 创建一个ConcretePrototype对象
ConcretePrototype prototype = new ConcretePrototype("Prototype 1");
// 克隆一个新的ConcretePrototype对象
ConcretePrototype clone = (ConcretePrototype)prototype.Clone();
// 打印原型对象和克隆对象的名称
prototype.PrintName();
clone.PrintName();
Console.ReadKey();
}
}