zoukankan      html  css  js  c++  java
  • 设计模式--原型模式

    原型模式

    原型模式定义如下:用原型实例指定创建对象的种类,并且通过复制这些原型创建新的对象。
    需要注意一点的是,进行clone操作后,新对象的构造函数没有被二次执行,新对象的内容是从内存里直接拷贝的。
    f1.png

    三、原型模式的优点和使用场景

    优点:
    1、性能极佳,直接拷贝比在内存里直接新建实例节省不少的资源;
    2、简化对象创建,同时避免了构造函数的约束,不受构造函数的限制直接复制对象,是优点,也有隐患,这一点还是需要多留意一些。
    使用场景:
    1、对象在修改过后,需要复制多份的场景。如本例和其它一些涉及到复制、粘贴的场景;
    2、需要优化资源的情况。如,需要在内存中创建非常多的实例,可以通过原型模式来减少资源消耗。此时,原型模式与工厂模式配合起来,不管在逻辑上还是结构上,都会达到不错的效果;
    3、某些重复性的复杂工作不需要多次进行。如对于一个设备的访问权限,多个对象不用各申请一遍权限,由一个设备申请后,通过原型模式将权限交给可信赖的对象,既可以提升效率,又可以节约资源。

    四、原型模式的缺点

    1、深拷贝和浅拷贝的使用需要事先考虑周到;
    2、某些编程语言中,拷贝会影响到静态变量和静态函数的使用。






    归类 : Python--设计模式

  • 相关阅读:
    vs编译错误error C2059 由extern "C"导致的错误处理
    原生JS:响应式轮播图
    JSP用户关注取关实现
    JSP和AJAX实现登录注册
    MySQL常用命令
    offsetWidth/getBoundingRect()/scrollWidth/client用法总结
    画廊相册—原生JavaScript实现
    《JavaScript DOM 编程艺术》读书笔记
    天猫网页前端实现
    Docker安装和配置(链接集合)
  • 原文地址:https://www.cnblogs.com/lz1996/p/11970962.html
Copyright © 2011-2022 走看看