《JavaScript设计模式》——导读
**
前言
**
一年前如果有人问我是否会写一本书的话,我会直接而坦诚地说我不会。不过随着团队开发中,对同事编写的代码的阅读中我发现,有的人写的代码难懂且臃肿,很难继续编写下去;有的人写的代码简明而灵活,即使再多的需求也很容易实现。我一直在思考,为何为同一需求编写的代码会有这么大的差别?
随着团队项目的开发,我发现,当对类似的需求以类似的模板去解决时,开发成本会减少许多,而且他人也会轻松介入项目的开发。这样,按照同样的流程去解决问题,开发效率得以提高。而将这些解决问题的模板提炼出来,会发现复杂的问题也会简单许多,书写的代码思路清晰且结构简明,这些模板是一种解决问题的方式,或者说是一种模式。
复杂的问题可以分解成一个个小的模块,然后像拼图一样将这些通过模式解决的模块拼凑成一个完整的需求。同时可将余下的精力用去研究其他烦琐问题的解决模式。积攒的模式越多,在工作中以这些模式来解决问题,工作效率就越高。
于是我将这些模式总结出来,编写成一本JavaScript设计模式书。考虑到对技术的探讨有时是很枯燥的,为了降低读者的学习难度,不至于在阅读中出现倦意,我把工作实战中的角色引入书中,通过他们工作中的情境故事来表达每种模式的内涵与应用,也借此希望更多的人读懂,并领悟更多的设计模式,以便应用到自己的项目中。
本书突破以往填鸭式著书风格,以生动有趣的故事情节推出一个个精彩的设计模式实践。文中以大学刚毕业的小白同学的编程工作经历为主线,在阅读时可以跟着他的经历来学习这些设计模式的具体应用。对于每种模式我们首先提出该模式的定义,这也就声明了该模式的用途。随后交代应用背景,这往往就是该种设计模式的某种应用场境。随着故事的演进,小白所经历的往往是读者在项目中所经历的,因此,很有可能会遇到小白所遇到的问题,这也正是我们需要学习的地方。最后,通过项目经理、小铭等人的帮助使小白顺利地解决一道道难题,从而使小白从初学者一步步进入了工程师的角色。
**[第一篇 面向对象编程
第1章 灵活的语言——JavaScript
1.1 入职第一天](https://yq.aliyun.com/articles/94677)**
1.2 函数的另一种形式
1.3 用对象收编变量
1.4 对象的另一种形式
1.5 真假对象
1.6 类也可以
1.7 一个检测类
1.8 方法还可以这样用
1.9 函数的祖先
1.10 可以链式添加吗
1.11 换一种方式使用方法
**[第2章 写的都是看到的——面向对象编程
2.1 两种编程风格——面向过程与面向对象](https://yq.aliyun.com/articles/94754)**
2.2 包装明星——封装
2.2.1 创建一个类]
2.2.2 这些都是我的——属性与方法封装
2.2.3 你们看不到我——闭包实现
2.2.4 找位检察长——创建对象的安全模式
2.3 传宗接代——继承
2.3.1 子类的原型对象——类式继承
2.3.2 创建即继承——构造函数继承
2.3.3 将优点为我所用——组合继承
2.3.4 洁净的继承者——原型式继承
2.3.5 如虎添翼——寄生式继承
2.3.6 终极继承者——寄生组合式继承
2.4 老师不止一位——多继承
2.5 多种调用方式——多态
**[第10章 水管弯弯——适配器模式
10.1 引入jQuery](https://yq.aliyun.com/articles/94801)**
10.2 生活中的适配器
10.3 jQuery适配器
10.4 适配异类框架
10.5 参数适配器
10.6 数据适配
10.7 服务器端数据适配
**[第11章 牛郎织女——代理模式
11.1 无法获取图片上传模块数据](https://yq.aliyun.com/articles/94832)**
11.2 一切只因跨域
11.3 站长统计
11.4 JSONP
11.5 代理模板
异步社区 异步社区(www.epubit.com)是人民邮电出版社旗下IT专业图书旗舰社区,也是国内领先的IT专业图书社区,致力于优质学习内容的出版和分享,实现了纸书电子书的同步上架,于2015年8月上线运营。公众号【异步图书】,每日赠送异步新书。
相关文章
- [转] JavaScript设计模式之发布-订阅模式(观察者模式)-Part1
- 第七节:语法总结(1)(自动属性、out参数、对象初始化器、var和dynamic等) 图片放大镜 JavaScript-基础 用javascript写原生ajax(笔记) 初遇 Asp.net MVC 数据库依赖缓存那些事儿 前端JS 与 后台C# 之间JSON序列化与反序列化(笔记)
- [ Javascript ] JavaScript中的定时器(Timer) 是怎样工作的!
- 【JavaScript】——JS入门
- JavaScript 正则
- 【学习笔记33】JavaScript延时器定时器和异步程序
- 26dwr - DWR中的JavaScript(创造一个与 Java 对象匹配的 Javascript 对象)
- 《JavaScript和jQuery实战手册(原书第3版)》---第1章 编写第一个JavaScript程序 1.1 编程简介
- Javascript 与 SPA单页Web富应用
- JavaScript设计模式经典-面向对象中六大原则
- 【一起来烧脑】一步学会JavaScript体系
- 【javascript】 的严格模式 详解
- 《JavaScript设计模式》——9.3 Revealing Module(揭示模块)模式
- 《JavaScript设计模式》——9.6 Mediator(中介者)模式
- 《JavaScript设计模式》——9.10 Factory(工厂)模式
- 《JavaScript设计模式》——1.10 可以链式添加吗
- 《JavaScript设计模式》——第2章 写的都是看到的——面向对象编程 2.1两种编程风格——面向过程与面向对象
- 《JavaScript设计模式》——2.2 包装明星——封装
- 《JavaScript设计模式》——2.5 多种调用方式——多态
- 《网页设计与前端开发 Dreamweaver+Flash+Photoshop+HTML+CSS+JavaScript 从入门到精通》—— 2.1 HTML的基本概念
- 《iOS应用开发指南——使用HTML5、CSS3和JavaScript》——导读
- 【JavaScript从入门到精通】第三课
- javascript: Jquery each loop with json array or object
- JavaScript有这几种测试分类
- 深入理解JavaScript系列(43):设计模式之状态模式
- 深入理解JavaScript系列(40):设计模式之组合模式
- 深入理解JavaScript系列(34):设计模式之命令模式
- 浏览器禁用 JavaScript