JavaScript 中常见设计模式整理
开发中,我们或多或少地接触了设计模式,但是很多时候不知道自己使用了哪种设计模式或者说该使用何种设计模式。本文意在梳理常见设计模式的特点,从而对它们有比较清晰的认知。
开发中,我们或多或少地接触了设计模式,但是很多时候不知道自己使用了哪种设计模式或者说该使用何种设计模式。本文意在梳理常见设计模式的特点,从而对它们有比较清晰的认知。
JavaScript 中常见设计模式
各设计模式关键词
看完了上述设计模式后,把它们的关键词特点罗列出来,以后提到某种设计模式,进而联想相应的关键词和例子,从而心中有数。
设计模式 | 特点 | 案例 |
---|---|---|
单例模式 | 一个类只能构造出唯一实例 | 创建菜单对象 |
策略模式 | 根据不同参数可以命中不同的策略 | 动画库里的算法函数 |
代理模式 | 代理对象和本体对象具有一致的接口 | 图片预加载 |
迭代器模式 | 能获取聚合对象的顺序和元素 | each([1, 2, 3], cb) |
发布-订阅模式 | PubSub | 瀑布流库 |
命令模式 | 不同对象间约定好相应的接口 | 按钮和命令的分离 |
组合模式 | 组合模式在对象间形成一致对待的树形结构 | 扫描文件夹 |
模板方法模式 | 父类中定好执行顺序 | 咖啡和茶 |
享元模式 | 减少创建实例的个数 | 男女模具试装 |
职责链模式 | 通过请求第一个条件,会持续执行后续的条件,直到返回结果为止 | if else 优化 |
中介者模式 | 对象和对象之间借助第三方中介者进行通信 | 测试结束告知结果 |
装饰者模式 | 动态地给函数赋能 | 天冷了穿衣服,热了脱衣服 |
状态模式 | 每个状态建立一个类,状态改变会产生不同行为 | 电灯换挡 |
适配者模式 | 一种数据结构改成另一种数据结构 | 枚举值接口变更 |
参考文献
*《JavaScript设计模式与开发实践》
作者:牧云云
出处:http://www.cnblogs.com/MuYunyun/"
本文版权归作者和博客园所有,欢迎转载,转载请标明出处。
如果您觉得本篇博文对您有所收获,请点击右下角的 [推荐],谢谢!
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
如何使用表格存储控制台进行数据监控
摘要 2018年5月10号,表格存储新版控制台的监控功能正式上线,优化后的监控功能,不仅可以为用户提供自定义时间段的监控信息查看,增加了对错误率的展示,还提供了更丰富的监控指标,能够清晰的看到指定时间段内诸如总访问量、CU总消耗、请求行数、流量等监控指标,同时,对监控的粒度也进行了提升,从5分钟提高到60秒。 表格数据新版控制台新版监控功能的正式上线,让用户在使用表格存储后更放心,让用户的资源使用状况更透明。 数据监控功能简介 登陆TableStore官网控制台后,用户可以点击数据表列表中的监控图标,进入新版数据监控页面。数据监控页面将默认展示最近6小时内的服务监控总览图。新版监控的功能主要包括:服务监控总览,单项监控指标分操作显示,自定义时间查询,用户计量数据展示,后文将对各个部分进行详细介绍。 自定义时间查询 在新版监控中,用户可以灵活的
- 下一篇
一名工作8年的Java架构师分享经验之如何成为一名架构师
很多工作一定年限的程序员感觉自己到了瓶颈不知道怎么去突破,其实这个时候就要冲破传说中的架构师。 架构师是个很神秘人物,那么架构师的技术一般在什么程度呢?怎样才能被称为架构师? 技术深度 有没有看过JDK源码,看过的类实现原理是什么。 HTTP协议 TCP协议 一致性Hash算法 JVM如何加载字节码文件 类加载器如何卸载字节码 IO和NIO的区别,NIO优点 Java线程池的实现原理,keepAliveTime等参数的作用。 HTTP连接池实现原理 数据库连接池实现原理 数据库的实现原理 技术框架 看过哪些开源框架的源码 为什么要用Redis,Redis有哪些优缺点?Redis如何实现扩容? Netty是如何使用线程池的,为什么这么使用 为什么要使用Spring,Spring的优缺点有哪些 Spring的IOC容器初始化流程 Spring的IOC容器实现原理,为什么可以通过byName和ByType找到Bean Spring AOP实现原理 消息中间件是如何实现的,技术难点有哪些 系统架构 如何搭建一个高可用系统 哪些设计模式可以增加系统的可扩展性 介绍设计模式,如模板模式,命令模式,...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8安装Docker,最新的服务器搭配容器使用
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS8编译安装MySQL8.0.19
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Hadoop3单机部署,实现最简伪集群
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS6,7,8上安装Nginx,支持https2.0的开启