原型模式

原型模式

创新互联建站是一家集网站建设,漳县企业网站建设,漳县品牌网站建设,网站定制,漳县网站建设报价,网络营销,网络优化,漳县网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

原型模式的应用场景:

1、类在初始化需要消耗非常多的资源,这个资源包括数据、硬件资源等;

2、通过new 产生一个对象需要非常繁琐的数据准备或访问权限,则可以使用原型模式;

3、一个对象需要提供给其他对象访问,而且各个调用者可能都需要修改其值时,可以考虑使用原型模式拷贝多个对象供调用者使用。

   
[Serializable]
public class PrototypeClass
{
    //浅拷贝
    public PrototypeClass ShawllowClone()
    {
        return this.MemberwiseClone();
    }
    //深拷贝
    public PrototypeClass  DeepClone()
    {
        using (Stream objectStream = new MemoryStream())
            {
                IFormatter formatter = new BinaryFormatter();
                formatter.Serialize(objectStream, this);
                objectStream.Seek(0, SeekOrigin.Begin);
                return formatter.Deserialize(objectStream) as PrototypeClass;
            }
}
}

深拷贝与浅拷贝根据需要可取其一。

注:通过拷贝所获取到的对象是不会执行构造函数的;

---摘自设计模式之禅


分享题目:原型模式
地址分享:http://pwwzsj.com/article/gcgoop.html