原型模式(Prototype)
原型模式:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。
(其实就是从一个对象再创建另外一个可定制的对象,而且不需要知道任何创建的细节。)
UML结构图:

namespace PrototypePattern
{
//原型模式 2017.07.22 23:19 by ldb
abstract class Prototype
{
private string id;
public Prototype(string id)
{
this.id = id;
}
public string Id
{
get { return id; }
}
public abstract Prototype Clone();
}
class ConcreatePrototype : Prototype
{
public ConcreatePrototype(string id) : base(id)
{
}
public override Prototype Clone()
{
return (Prototype)this.MemberwiseClone();//创建当前对象的浅表对象。MemberwiseClone()object类的方法。
}
}
class Program
{
static void Main(string[] args)
{
ConcreatePrototype p1 = new ConcreatePrototype("ii");
ConcreatePrototype c1 = (ConcreatePrototype)p1.Clone();
Console.WriteLine("Clone:{0}", c1.Id);//c1.id = ii
Console.Read();
}
}
}

浙公网安备 33010602011771号