首页 » JavaScript » JavaScript设计模式理解

JavaScript设计模式理解

原文 http://blog.csdn.net/qq_39527734/article/details/78997711

2018-01-08 02:00:05阅读(511)

之前没有关注过设计模式,一直处于为完成功能而开发的阶段。找同事review代码时,总能轻而易举的发现代码里的不足之处。很多都是自己开发时根本就没想到的。

其实很想知道为什么同事能想到,自己就想不到。可能是着手开发之前没有考虑周全。这种现象对于我这种知识储备少的人很常见。所以,必须叮嘱自己补充知识了。

昨天在浏览网页的时候偶然发现了一本书<learning JavaScript Design Pattern>.英文版的。仅看了个开头,发现自己英语水平还是不够理解这么专业的书籍。还好在网上看见了一篇文章,也是介绍设计模式的,感觉很好,打算挪过来给自己的博客增加点深度。下面是原文:

Practical Common Lisp》的作者 Peter Seibel 曾说,如果你需要一种模式,那一定是哪里出了问题。他所说的问题是指因为语言的天生缺陷,不得不去寻求和总结一种通用的解决方案。

不管是弱类型或强类型,静态或动态语言,命令式或说明式语言、每种语言都有天生的优缺点。一个牙买加运动员, 在短跑甚至拳击方面有一些优势,在练瑜伽上就欠缺一些。

术士和暗影牧师很容易成为一个出色的辅助,而一个背着梅肯满地图飞的敌法就会略显尴尬。 换到程序中, 静态语言里可能需要花很多功夫来实现装饰者,而js由于能随时往对象上面扔方法,以至于装饰者模式在js里成了鸡肋。

讲 Javascript 设计模式的书还比较少,《Pro javaScript Design Patterns》是比较经典的一本,但是它里面的例子举得比较啰嗦,所以结合我在工作中写过的代码,把我的理解总结一下。如果我的理解出现了偏差,请不吝指正。

一 单例模式

单例模式的定义是产生一个类的唯一实例,但js本身是一种“无类”语言。很多讲js设计模式的文章把{}当成一个单例来使用也勉强说得通。因为js生成对象的方式有很多种,我们来看下另一种更有意义的单例。

有这样一个常见的需求,点击某个按钮的时候需要在页面弹出一个遮罩层。比如web.qq.com点击登录的时候.

JavaScript设计模式理解

这个生成灰色背景遮罩层的代码是很好写的.

JavaScript

最新发布

CentOS专题

关于本站

5ibc.net旗下博客站精品博文小部分原创、大部分从互联网收集整理。尊重作者版权、传播精品博文,让更多编程爱好者知晓!

小提示

按 Ctrl+D 键,
把本文加入收藏夹