原型模式
1 有一些对象比较难获取,如果每次都从源位置进行获取(比如配置表,数据库),则会耗费大量的性能。此时就需要把这些对象先保存起来,然后再复制出对象。
2 总的来说2个关注点:(1)保存对象的缓存结构,比如hashtable。(2)复制对象的方法
3 奇怪了,感觉这个模式的内容太简单,简单到几乎只需要用到2个方法就完成这个模式,,
public class Coin :ICloneable
{
public int Value;
public string Name;
public object Clone()
{
return this.MemberwiseClone();
}
}
public class PrototypeMgr
{
public static void TestCloneCoin()
{
Coin coin = new Coin();
coin.Value = 10;
coin.Name = "RMB";
Coin cloneCoin = (Coin)coin.Clone();
Console.WriteLine(cloneCoin.Name);
}
}