博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
设计模式之七:原型模式
阅读量:4147 次
发布时间:2019-05-25

本文共 930 字,大约阅读时间需要 3 分钟。

设计模式之七:原型模式
http://www.taidous.com/thread-49589-1-1.html

(出处: 【泰斗社区】-专注互联网游戏和应用的开发者平台)

      原型模式(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;       }   }

你可能感兴趣的文章
facebook库runtime.js
查看>>
vue2.* 中 使用socket.io
查看>>
openlayers安装引用
查看>>
js报错显示subString/subStr is not a function
查看>>
高德地图js API实现鼠标悬浮于点标记时弹出信息窗体显示详情,点击点标记放大地图操作
查看>>
初始化VUE项目报错
查看>>
vue项目使用安装sass
查看>>
HTTP和HttpServletRequest 要点
查看>>
在osg场景中使用GLSL语言——一个例子
查看>>
laravel 修改api返回默认的异常处理
查看>>
laravel事务
查看>>
【JavaScript 教程】浏览器—History 对象
查看>>
这才是学习Vite2的正确姿势!
查看>>
7 个适用于所有前端开发人员的很棒API,你需要了解一下
查看>>
25个构建Web项目的HTML建议,你需要了解一下!
查看>>
【web素材】02-10款大气的购物商城网站模板
查看>>
6种方式实现JavaScript数组扁平化(flat)方法的总结
查看>>
49个在工作中常用且容易遗忘的CSS样式清单整理
查看>>
20种在学习编程的同时也可以在线赚钱的方法
查看>>
隐藏搜索框:CSS 动画正反向序列
查看>>