C#.NET里原型的解释和应用------浅表复制和深表复制
2012-06-11 14:31
183 查看
原型就是省去了构造一个对象的过程,而是将一个现有的对象进行复制
这样做的好处是可以在运行时构造这个对象,第一次构造完了,不要释放掉,而是把它放到一个序列(HashTable)中去,下次调用的时候从序列中取出对象进行克隆,得到副本即可。
而如果采用工厂模式的话,每次都要用工厂构造一下。
原型分成两种,深表复制和浅表复制
两者的区别在于对原型中引用成员的复制方式。
浅表复制仅仅把引用成员引用过来,而深表复制则是利用序列化和反序列化构造一个新的引用的成员变量。
所以在浅表复制的副本中对引用型的成员变量进行更改,原型的中的对象也会被相应改变。
这样做的好处是可以在运行时构造这个对象,第一次构造完了,不要释放掉,而是把它放到一个序列(HashTable)中去,下次调用的时候从序列中取出对象进行克隆,得到副本即可。
而如果采用工厂模式的话,每次都要用工厂构造一下。
原型分成两种,深表复制和浅表复制
两者的区别在于对原型中引用成员的复制方式。
浅表复制仅仅把引用成员引用过来,而深表复制则是利用序列化和反序列化构造一个新的引用的成员变量。
所以在浅表复制的副本中对引用型的成员变量进行更改,原型的中的对象也会被相应改变。
相关文章推荐
- C#.NET里原型的解释和应用------浅表复制和深表复制
- c# 解释器模式与sping.net表达式的结合应用(金融里经常需要用到公式,这个公式是抽象的需要自己解释)
- 06 DW.NET在C#中应用的特殊注意事项
- c# .net orm 框架 dapper.net 的应用
- C#/.NET中委托和事件的机制和应用
- asp.net(C#)中上传大文件的几中常见应用方法
- C#.NET中的 sender Tag 功能在支持多语言的通用权限管理系统组件中的实际应用范例
- 【原创】 ASP.NET C#反射简单实例应用
- FCK在ASP.NET(C#)中的应用,FCK上传文件按照年月的形式保存
- 在C#代码中应用Log4Net(三)Log4Net中配置文件的解释
- 在C#代码中应用Log4Net(三)Log4Net中配置文件的解释
- 【Asp.Net】C#事件简单应用
- .net Web C# + javascript应用实例
- asp.net2008(C#)里应用水晶报表
- Asp.net(c#)常用文件操作类封装 移动 复制 删除 上传 下载等
- 在C#代码中应用Log4Net(一)简单使用Log4Net
- 在C#代码中应用Log4Net(一)简单使用Log4Net
- asp.net(C#)中上传大文件的几中常见应用方法
- C#.NET 剪切板复制粘贴泛型的例子代码参考 Clipboard Copy Paste List
- ASP.NET 2.0(C#)中System.Web.Caching的应用