王海挺学设计模式-原型模式
来源:互联网 发布:ip网络终端 编辑:程序博客网 时间:2024/06/14 00:42
定义:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建的对象。
uml:
本质:就是根据一个对象再创建另外一个可定制的对象,而且不需要知道任何创建的细节。
原理:在C#里面,我们可以很容易的通过Clone()方法实现原型模式。任何类,只要想支持克隆,必须实现C#中的ICloneable接口。ICloneable接口中有一Clone方法,可以在类中复写实现自定义的克隆方法。克隆的实现方法有两种:浅拷贝(shallow copy)与深拷贝(deep copy)。浅拷贝是指当对象的字段值被拷贝时,字段引用的对象不会被拷贝。例如,如果一个对象有一个指向字符串的字段,并且我们对该对象做了一个浅拷贝,那么两个对象将引用同一个字符串。而深拷贝是对对象实例中字段引用的对象也进行拷贝的一种方式,所以如果一个对象有一个指向字符串的字段,并且我们对该对象做了一个深拷贝的话,我们将创建一个新的对象和一个新的字符串--新对象将引用新字符串。需要注意的是执行深拷贝后,原来的对象和新创建的对象不会共享任何东西;改变一个对象对另外一个对象没有任何影响。
本段来自CSDN博客,转载请标明出处:http://blog.csdn.net/edisundong/archive/2007/07/01/1674275.aspx
代码:
具体的原型类:
客户端代码:
一般初始化的信息不发生变化的情况下,克隆是最好的办法。这既隐藏了对象创建的细节,有对性能大大的提高。
如何事项深度克隆呢?这个大家自己想象吧。有问题联系我 qq 13865488 www.developer-code.com
- 王海挺学设计模式-原型模式
- 设计模式:原型模式
- 设计模式------原型模式
- 设计模式 原型模式
- 设计模式-【原型模式】
- 设计模式-原型模式
- 设计模式-原型模式
- 设计模式-原型模式
- 设计模式-原型模式
- 设计模式- 原型模式
- 设计模式:原型模式
- 设计模式 - 原型模式
- 设计模式-原型模式
- 【设计模式】原型模式
- 设计模式-原型模式
- 设计模式-原型模式
- 【设计模式】原型模式
- 设计模式----原型模式
- jdk环境变量的配置
- Windows XP SP3系统安装IIS故障排除大全
- Tip - Windows 7 XP Mode不再需要硬件虚拟化支持
- organizing code files in C & C++
- 发送的法律所,了,
- 王海挺学设计模式-原型模式
- 奇怪的GPS接收数据现象
- linq to sql 分页 的几种方法
- 获得php所对应的配置文件(php.ini)信息
- 交换机,路由器,GPON等宽带产品,急招聘开发人员!!
- OpenGL中逆变换和模拟变换gluUnProject
- 动态内表 动态ALV显示
- 不一样的命令行 – Windows PowerShell简介
- JS小游戏贪吃蛇+详细注释