原型模式-创新互联
原型模式

原型模式的应用场景:
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;
}
}
}深拷贝与浅拷贝根据需要可取其一。
注:通过拷贝所获取到的对象是不会执行构造函数的;
---摘自设计模式之禅
创新互联www.cdcxhl.cn,专业提供香港、美国云服务器,动态BGP最优骨干路由自动选择,持续稳定高效的网络助力业务部署。公司持有工信部办法的idc、isp许可证, 机房独有T级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。
分享标题:原型模式-创新互联
地址分享:http://www.jxjierui.cn/article/diehhs.html


咨询
建站咨询
