当前位置: 首页 > news >正文

设计模式-享元模式

概念

  • 共享内存(主要考虑内存,而非效率)
  • 相同的数据,共享使用
  • (JS中未找到经典应用场景)

演示

<!-- 无限下拉列表,将事件代理到高层节点上 -->
<!-- 如果都绑定到`<a>`标签,对内存开销太大 -->
<div id="div1"><a href="#">a1</a><a href="#">a2</a><a href="#">a3</a><a href="#">a4</a><!-- 无限下拉列表 -->
</div><script>var div1 = document.getElementById('div1')div1.addEventListener('click',function(e) {var target = e.targetif (e.nodeName === 'A') {alert(target.innerHTML)}})
</script>

设计原则验证

  • 将相同的部分抽象出来
  • 符合开放封闭原则
http://www.lryc.cn/news/187771.html

相关文章:

  • 中秋时节赏明月,五子棋戏月饼趣 — Flutter中秋限定版五子棋
  • Scala第十九章节
  • kafka与hbase的区别
  • 出栈序列的合法性
  • unity操作_刚体 c#
  • 网络编程中套接字(socket)介绍(Python示例)
  • d3dcompiler_43.dll是什么文件?缺失d3dcompiler_43.dll文件修复与解决方法
  • YOLOv7改进:SPD-Conv,低分辨率图像和小物体涨点明显,涨点神器!!!
  • iris(golang)连接mysql数据库
  • C现代方法(第1、2章)笔记
  • 练[CISCN2019 华东南赛区]Double Secret
  • 『Linux - gcc / g++』c程序翻译过程
  • 苹果遭遇安全危机,应用商店曝出不良APP,或影响iPhone的销售
  • docker 基本操作
  • ARM:使用汇编完成三个灯流水亮灭
  • 嵌入式养成计划-33--数据库-sqlite3
  • 什么是大数据运维?大数据运维的职责
  • 解决方案:AI赋能工业生产3.0,从工业“制造”到“智造”
  • Android KeyStore 秘钥导入
  • TDengine+OpenVINO+AIxBoard,助力时序数据分类
  • 设计模式——16. 迭代器模式
  • flink redis connector需要防止包冲突
  • socket can查看详细信息 命令 ip -details -statistics link show can0
  • 打造虚拟企业展厅,开启商务活动新时代
  • 03黑马店评-添加商户缓存和商户类型的缓存到Redis
  • LabVIEW玩转魔方
  • 大数据学习(1)-Hadoop
  • 常用时序模型
  • 阿里云/腾讯云国际站:私服服务器:什么是游戏虚拟服务器及用途讲解?
  • ssti 前置学习