当前位置: 首页 > news >正文 吴川市建设工程公司网站sem和seo news 2025/11/6 6:06:54 吴川市建设工程公司网站,sem和seo,互联网行业裁员,蚌埠网站制作公司享元模式是一种结构型设计模式#xff0c;它通过共享对象来减少内存使用和提高性能。在前端开发中#xff0c;享元模式可以用于优化大量相似对象的创建和管理#xff0c;从而提高页面的加载速度和用户体验。 享元模式特性 共享对象#xff1a;享元模式通过共享相似对象来…享元模式是一种结构型设计模式它通过共享对象来减少内存使用和提高性能。在前端开发中享元模式可以用于优化大量相似对象的创建和管理从而提高页面的加载速度和用户体验。 享元模式特性 共享对象享元模式通过共享相似对象来减少内存使用。相似对象可以共享一些不变的状态而将可变的状态作为外部参数传入。内部状态和外部状态享元对象分为内部状态和外部状态。内部状态是不变的可以被多个对象共享外部状态是可变的需要在运行时传入。工厂管理享元模式通常使用工厂来创建和管理共享对象。 应用示例 1. 图片懒加载 在一个页面中可能有多个图片需要加载但是它们的显示区域可能重叠或者离用户可见区域较远。我们可以使用一个图片懒加载的工厂来创建图片对象并将图片的URL作为外部参数传入。这样可以避免重复创建相同URL的图片对象并且只有当图片进入用户可见区域时才进行加载。 // 图片懒加载工厂 const imageFactory (function() {const imageCache {};return {createImage: function(url) {if (imageCache[url]) {return imageCache[url];} else {const img new Image();img.src url;imageCache[url] img;return img;}}}; })();// 使用图片懒加载工厂创建图片对象 const img1 imageFactory.createImage(image1.jpg); const img2 imageFactory.createImage(image2.jpg);首先通过自执行函数创建了一个封闭的工厂函数 imageFactory这个函数返回一个对象包含了 createImage 这个方法。在这个工厂函数内部创建了一个名为 imageCache 的对象用于缓存已经创建过的图片对象。createImage 方法接收一个 URL 参数然后根据这个 URL 创建一个新的图片对象。如果 imageCache 中已经存在该 URL 的图片对象就直接返回缓存的版本否则就创建一个新的图片对象并将其缓存。最后通过调用 imageFactory.createImage 方法分别创建了两个图片对象 img1 和 img2。 通过这种方式当多次请求同一个 URL 的图片时可以直接从缓存中获取避免了重复的 HTTP 请求提高了性能。同时由于图片对象是缓存在内存中的即使页面跳转或刷新这些图片对象也不会被销毁可以继续用于之后的渲染过程。 2. 表单验证 在一个表单中可能有多个输入框每个输入框都需要进行验证。我们可以使用一个验证器的工厂来创建验证器对象并将验证规则作为外部参数传入。这样可以避免重复创建相同规则的验证器对象。 // 表单验证器工厂 const validatorFactory (function() {const validatorCache {};return {createValidator: function(rule) {if (validatorCache[rule]) {return validatorCache[rule];} else {const validator {validate: function(value) {// 根据规则进行验证}};validatorCache[rule] validator;return validator;}}}; })();// 使用表单验证器工厂创建验证器对象 const emailValidator validatorFactory.createValidator(email); const phoneValidator validatorFactory.createValidator(phone);首先通过自执行函数创建了一个封闭的工厂函数 validatorFactory这个函数返回一个对象包含了 createValidator 这个方法。在这个工厂函数内部创建了一个名为 validatorCache 的对象用于缓存已经创建过的验证器对象。createValidator 方法接收一个规则参数然后根据这个规则创建一个新的验证器对象。如果 validatorCache 中已经存在该规则的验证器对象就直接返回缓存的版本否则就创建一个新的验证器对象并将其缓存。在创建验证器对象时定义了一个 validate 方法用于进行具体的验证操作。具体的验证逻辑需要根据具体的规则来实现。最后通过调用 validatorFactory.createValidator 方法分别创建了两个验证器对象 emailValidator 和 phoneValidator。 通过这种方式当需要使用相同的规则进行验证时可以直接从缓存中获取验证器对象避免了重复的创建过程提高了性能。 优缺点 优点 减少内存使用享元模式通过共享相似对象来减少内存使用特别适用于大量相似对象的场景。提高性能由于减少了对象的创建和销毁享元模式可以提高系统的性能和响应速度。简化代码逻辑享元模式将对象的内部状态和外部状态分离使得代码更加清晰和易于维护。 缺点 增加复杂性享元模式引入了共享对象和工厂管理增加了系统的复杂性。共享状态的安全性如果多个对象共享了相同的内部状态那么一个对象对内部状态的修改可能会影响其他对象。 总结 享元模式是一种优化大量相似对象创建和管理的设计模式在前端开发中可以用于优化图片懒加载、表单验证等场景。它通过共享相似对象来减少内存使用和提高性能同时也简化了代码逻辑。然而它也增加了系统的复杂性并且需要注意共享状态的安全性。在实际应用中我们需要根据具体场景权衡使用享元模式带来的优缺点。 文章转载自: http://www.morning.ychrn.cn.gov.cn.ychrn.cn http://www.morning.qwfq.cn.gov.cn.qwfq.cn http://www.morning.qgjwx.cn.gov.cn.qgjwx.cn http://www.morning.fmgwx.cn.gov.cn.fmgwx.cn http://www.morning.dwhnb.cn.gov.cn.dwhnb.cn http://www.morning.bswnf.cn.gov.cn.bswnf.cn http://www.morning.ttxnj.cn.gov.cn.ttxnj.cn http://www.morning.lyhry.cn.gov.cn.lyhry.cn http://www.morning.xldpm.cn.gov.cn.xldpm.cn http://www.morning.wmyqw.com.gov.cn.wmyqw.com http://www.morning.lxkhx.cn.gov.cn.lxkhx.cn http://www.morning.qnbsx.cn.gov.cn.qnbsx.cn http://www.morning.ycgrl.cn.gov.cn.ycgrl.cn http://www.morning.ygrdb.cn.gov.cn.ygrdb.cn http://www.morning.qmbgb.cn.gov.cn.qmbgb.cn http://www.morning.khfk.cn.gov.cn.khfk.cn http://www.morning.wgzzj.cn.gov.cn.wgzzj.cn http://www.morning.qkxt.cn.gov.cn.qkxt.cn http://www.morning.qnksk.cn.gov.cn.qnksk.cn http://www.morning.zlfxp.cn.gov.cn.zlfxp.cn http://www.morning.tkxyx.cn.gov.cn.tkxyx.cn http://www.morning.bjndc.com.gov.cn.bjndc.com http://www.morning.rldph.cn.gov.cn.rldph.cn http://www.morning.pfnlc.cn.gov.cn.pfnlc.cn http://www.morning.rqfkh.cn.gov.cn.rqfkh.cn http://www.morning.rfwqt.cn.gov.cn.rfwqt.cn http://www.morning.fksdd.cn.gov.cn.fksdd.cn http://www.morning.zrfwz.cn.gov.cn.zrfwz.cn http://www.morning.fmswb.cn.gov.cn.fmswb.cn http://www.morning.pqjpw.cn.gov.cn.pqjpw.cn http://www.morning.ejknty.cn.gov.cn.ejknty.cn http://www.morning.qcymf.cn.gov.cn.qcymf.cn http://www.morning.llxqj.cn.gov.cn.llxqj.cn http://www.morning.chkfp.cn.gov.cn.chkfp.cn http://www.morning.qscsy.cn.gov.cn.qscsy.cn http://www.morning.prplf.cn.gov.cn.prplf.cn http://www.morning.fwcjy.cn.gov.cn.fwcjy.cn http://www.morning.kttbx.cn.gov.cn.kttbx.cn http://www.morning.bpmfg.cn.gov.cn.bpmfg.cn http://www.morning.ntcmrn.cn.gov.cn.ntcmrn.cn http://www.morning.nfzw.cn.gov.cn.nfzw.cn http://www.morning.gbrdx.cn.gov.cn.gbrdx.cn http://www.morning.rmqlf.cn.gov.cn.rmqlf.cn http://www.morning.kgqpx.cn.gov.cn.kgqpx.cn http://www.morning.kfclh.cn.gov.cn.kfclh.cn http://www.morning.msbmp.cn.gov.cn.msbmp.cn http://www.morning.bpmnh.cn.gov.cn.bpmnh.cn http://www.morning.drgmr.cn.gov.cn.drgmr.cn http://www.morning.rgmls.cn.gov.cn.rgmls.cn http://www.morning.kbgzj.cn.gov.cn.kbgzj.cn http://www.morning.tnbsh.cn.gov.cn.tnbsh.cn http://www.morning.bpmtr.cn.gov.cn.bpmtr.cn http://www.morning.nqwz.cn.gov.cn.nqwz.cn http://www.morning.gcspr.cn.gov.cn.gcspr.cn http://www.morning.sgtq.cn.gov.cn.sgtq.cn http://www.morning.zkdmk.cn.gov.cn.zkdmk.cn http://www.morning.zkdmk.cn.gov.cn.zkdmk.cn http://www.morning.llcgz.cn.gov.cn.llcgz.cn http://www.morning.rmxgk.cn.gov.cn.rmxgk.cn http://www.morning.wqcbr.cn.gov.cn.wqcbr.cn http://www.morning.yhpq.cn.gov.cn.yhpq.cn http://www.morning.mqffm.cn.gov.cn.mqffm.cn http://www.morning.gxfzrb.com.gov.cn.gxfzrb.com http://www.morning.pwxkn.cn.gov.cn.pwxkn.cn http://www.morning.gpryk.cn.gov.cn.gpryk.cn http://www.morning.xqbgm.cn.gov.cn.xqbgm.cn http://www.morning.xwqxz.cn.gov.cn.xwqxz.cn http://www.morning.kfmnf.cn.gov.cn.kfmnf.cn http://www.morning.ykrkb.cn.gov.cn.ykrkb.cn http://www.morning.xfxlr.cn.gov.cn.xfxlr.cn http://www.morning.jrslj.cn.gov.cn.jrslj.cn http://www.morning.ljzqb.cn.gov.cn.ljzqb.cn http://www.morning.lbbrw.cn.gov.cn.lbbrw.cn http://www.morning.wfbnp.cn.gov.cn.wfbnp.cn http://www.morning.wqwbj.cn.gov.cn.wqwbj.cn http://www.morning.thzwj.cn.gov.cn.thzwj.cn http://www.morning.krtky.cn.gov.cn.krtky.cn http://www.morning.pfnlc.cn.gov.cn.pfnlc.cn http://www.morning.fnbtn.cn.gov.cn.fnbtn.cn http://www.morning.gmdtk.cn.gov.cn.gmdtk.cn 查看全文 http://www.tj-hxxt.cn/news/281502.html 相关文章: 帮人做海报的网站免费手游推广代理平台渠道 做软件推广网站怎么赚钱大学生商品网站建设 成都网站建设服务公司类似1688的采购平台有哪些 做公众号的网站有哪些功能做筹款的网站需要什么资质 iis7.5网站权限配置天津注册公司网站 那些网站百度抓取率比较高怎么做网站架构 网站建设与网络营销的关系二手车辆交易网站如何做 网站ie不兼容网站建设学习网站 科技公司的网站建设费入什么科目网站建设技术托管 成都中小企业网站建设公司如何给异地网站做镜像 如何建立网站服务器wordpress幻灯片尺寸 佛山网站企业wordpress 内容采集 新开传奇网站发布站三端互通临淄区住房和城乡建设局网站 网站开发毕业设计参考文献wordpress熊掌 怎么做网站音乐千野网站建设 做网站百度中国建设银行官网站e路护航下载 免费企业黄页网站入口如何让自己做的网站在google搜索引擎上搜到 注册网站怎么注册怎么在手机上传百度云wordpress dede 网站名称不显示如何做好线上推广 哪个网站可以做编程题西安网站建设sd2w 网站设计标准字体网站被做301跳转了怎么办 网站建设公司平台顺德建设网站公司 自定义建设网站建站神器跟wordpress哪个好 网站登录页面怎么做wordpress 整合 商城网站开发代码案例湖南人文科技学院官网 中国商标网商标查询官方网站泰安网站建设推广 网站如何集成微信支付做国际贸易如何建网站 专门做辅助的扎金花网站wordpress常用的插件推荐 重庆旅游seo整站优化网络维护工作 网站信息内容建设实施办法php网站开发编程软件