JavaScript 中常见设计模式整理

综合技术 2018-05-18 阅读原文


开发中,我们或多或少地接触了设计模式,但是很多时候不知道自己使用了哪种设计模式或者说该使用何种设计模式。本文意在梳理常见设计模式的特点,从而对它们有比较清晰的认知。

JavaScript 中常见设计模式

各设计模式关键词

看完了上述设计模式后,把它们的关键词特点罗列出来,以后提到某种设计模式,进而联想相应的关键词和例子,从而心中有数。

设计模式特点案例
单例模式一个类只能构造出唯一实例 创建菜单对象
策略模式根据不同参数可以命中不同的策略 动画库里的算法函数
代理模式代理对象和本体对象具有一致的接口 图片预加载
迭代器模式能获取聚合对象的顺序和元素 each([1, 2, 3], cb)
发布-订阅模式PubSub 瀑布流库
命令模式不同对象间约定好相应的接口 按钮和命令的分离
组合模式组合模式在对象间形成一致对待的树形结构 扫描文件夹
模板方法模式父类中定好执行顺序 咖啡和茶
享元模式减少创建实例的个数 男女模具试装
职责链模式通过请求第一个条件,会持续执行后续的条件,直到返回结果为止 if else 优化
中介者模式对象和对象之间借助第三方中介者进行通信 测试结束告知结果
装饰者模式动态地给函数赋能 天冷了穿衣服,热了脱衣服
状态模式每个状态建立一个类,状态改变会产生不同行为 电灯换挡
适配者模式一种数据结构改成另一种数据结构 枚举值接口变更

参考文献

*《JavaScript设计模式与开发实践》

稀土掘金

责编内容by:稀土掘金阅读原文】。感谢您的支持!

您可能感兴趣的

What is the most efficient way to load multiple hi... I'm building a site which has a photography section for different photographe...
The Filterer Pattern Disclaimer : What I am writing about here is my own idea, but it is quit...
Ten JavaScript Theory Questions – The ES6 Quiz There are countless questions your interviewers may ask when it comes to how Jav...
Animating List Items When parts of a web page change, adding some animation is a good way to help ...
推荐阅读-第14期 ECMAScript modules in browsers 前端模块不用编译就能在浏览器运行吗?是的,浏览器最新黑科技,了解一下 ...