定义:
用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象.
Prototype模式允许一个对象再创建另外一个可定制的对象,根本无需知道任何如何创建的细节,工作原理是:通过将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝它们自己来实施创建。
///原型设计模式
using System;
namespace DesignPattern
{
public class Book : ICloneable //实现Clone接口
{
private int _Width;
private int _Height;
public Book()
{
}
public int Width
{
get
{
return _Width;
}
set
{
_Width = value;
}
}
public int Height
{
get
{
return _Height;
}
set
{
_Height = value;
}
}
public object Clone()
{
return this.MemberwiseClone(); //返回浅clone方法¨
}
}
public class Test
{
public void TestMethod()
{
Book redColorBook = new Book();
redColorBook.Width = 60;
redColorBook.Height = 30;
Book blueColorBook = new Book();
blueColorBook = (Book)blueColorBook.Clone();
//这时红颜色的书就有了blueColorBook大小
}
}
}
using System;
namespace DesignPattern
{
public class Book : ICloneable //实现Clone接口
{
private int _Width;
private int _Height;
public Book()
{
}
public int Width
{
get
{
return _Width;
}
set
{
_Width = value;
}
}
public int Height
{
get
{
return _Height;
}
set
{
_Height = value;
}
}
public object Clone()
{
return this.MemberwiseClone(); //返回浅clone方法¨
}
}
public class Test
{
public void TestMethod()
{
Book redColorBook = new Book();
redColorBook.Width = 60;
redColorBook.Height = 30;
Book blueColorBook = new Book();
blueColorBook = (Book)blueColorBook.Clone();
//这时红颜色的书就有了blueColorBook大小
}
}
}