设计模式之七:原型模式
来源:互联网 发布:微信公众号淘宝客 编辑:程序博客网 时间:2024/06/05 22:49
原型模式(Prototype Pattern):
定义:Specify the kinds of objects to create using a prototypical instance,and create new objects by copying this prototype.(用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象)。
通用类图如下:
优点:
1、性能优良,原型模式是在内存二进制流的拷贝,要比直接new一个对象性能好很多,特别是要在一个循环体内产生大量的对象时,原型模式可以更好的体现其优点
2、逃避构造函数的约束
使用场景:
1、资源优化场景:类初始化需要消化非常多的资源,这个资源包括数据、硬件资源等;
2、性能和安全需要的场景 :通过new产生一个对象需要非常繁琐的数据准备货访问权限,则可以使用原型模式
3、一个对象多个修改者的场景:一个对象需要提供给其他对象访问,而且各个调用者可能都需要修改其值时,可以考虑使用原型模式拷贝多个对象共调用者使用。
原型模式通用代码:
public class PrototypeClass : Cloneable { //重写父类object的方法 public override PrototypeClass clone() { PrototypeClass prototypeClass = null; try { prototypeClass = (PrototypeClass)base.clone(); } catch(Exception e) { //异常处理 } return prototypeClass; } }好了,这一章就写到这,欢迎大家加入QQ群:280993838 。或者关注我的公众号:
0 0
- 七 设计模式之原型模式
- 设计模式之七:原型模式
- 设计模式之七:原型模式
- JAVA设计模式七之 原型模式
- 设计模式(七)---原型模式
- 设计模式之原型
- 设计模式之原型
- 设计模式 之 原型
- 设计模式之原型
- 设计模式之原型
- 设计模式之原型模式
- 设计模式之原型模式
- 设计模式之-原型模式
- 设计模式之 原型模式
- 设计模式之原型模式
- 设计模式之原型模式
- 设计模式之原型模式
- 设计模式之原型模式
- 将 ext_net 连接到 router
- Bootstrap的模态框遮罩在iframe子页面弹出时不能覆盖父页面的解决方法
- cmsg(3) - Linux man page
- JavaScript 面向对象(一)
- json与javascript对象和数组的区别
- 设计模式之七:原型模式
- 一些常用的C++11新增特性
- drupal上传利用脚本
- H5新特性WebStorage相关用法详解
- 设置maxsize的自动扩展数据文件在达到maxsize后是否会继续扩展
- OpenCV基于点阵结构光的深度图三维重建算法
- 输出和输入
- android框架基础之模板方法模式
- IIS重写-正则或的写法