展开全部

主编推荐语

html+css+javascript教程详解,JavaScript高级程序设计精粹。

内容简介

《JavaScript设计模式》共分六篇四十章,首先讨论了几种函数的编写方式,体会JavaScript在编程中的灵活性;然后讲解了面向对象编程的知识,其中讨论了类的创建、数据的封装以及类之间的继承;最后探讨了各种模式的技术,如简单工厂模式,包括工厂方法模式、抽象工厂模式、建造者模式、原型模式、单例模式,以及外观模式,包括适配器模式。本书还讲解了几种适配器、代理模式、装饰者模式和MVC模式,讨论了如何实现对数据、视图、控制器的分离。在讲解MVP模式时,讨论了如何解决数据与视图之间的耦合,并实现了一个模板生成器;讲解MVVM模式时,讨论了双向绑定对MVC的模式演化。本书几乎包含了关于JavaScript设计模式的全部知识,是进行JavaScript高效编程必备的学习手册。

目录

  • 版权信息
  • 作者简介
  • 内容提要
  • 推荐序
  • 前言
  • 目标读者
  • 本书特色
  • 本书内容
  • 本书约定
  • 感谢
  • 第一篇 面向对象编程
  • 第1章 灵活的语言——JavaScript
  • 1.1 入职第一天
  • 1.2 函数的另一种形式
  • 1.3 用对象收编变量
  • 1.4 对象的另一种形式
  • 1.5 真假对象
  • 1.6 类也可以
  • 1.7 一个检测类
  • 1.8 方法还可以这样用
  • 1.9 函数的祖先
  • 1.10 可以链式添加吗
  • 1.11 换一种方式使用方法
  • 下章剧透
  • 忆之获
  • 我问你答
  • 第2章 写的都是看到的——面向对象编程
  • 2.1 两种编程风格——面向过程与面向对象
  • 2.2 包装明星——封装
  • 2.3 传宗接代——继承
  • 2.4 老师不止一位——多继承
  • 2.5 多种调用方式——多态
  • 下章剧透
  • 忆之获
  • 我问你答
  • 第二篇 创建型设计模式
  • 第3章 神奇的魔术师——简单工厂模式
  • 3.1 工作中的第一次需求
  • 3.2 如果类太多,那么提供一个
  • 3.3 一个对象有时也可代替许多类
  • 3.4 你的理解决定你选择的方式
  • 下章剧透
  • 忆之获
  • 我问你答
  • 第4章 给我一张名片——工厂方法模式
  • 4.1 广告展现
  • 4.2 方案的抉择
  • 4.3 安全模式类
  • 4.4 安全的工厂方法
  • 下章剧透
  • 忆之获
  • 我问你答
  • 第5章 出现的都是幻觉——抽象工厂模式
  • 5.1 带头模范——抽象类
  • 5.2 幽灵工厂——抽象工厂模式
  • 5.3 抽象与实现
  • 下章剧透
  • 忆之获
  • 我问你答
  • 第6章 分即是合——建造者模式
  • 6.1 发布简历
  • 6.2 创建对象的另一种形式
  • 6.3 创建一位应聘者
  • 下章剧透
  • 忆之获
  • 我问你答
  • 第7章 语言之魂——原型模式
  • 7.1 语言中的原型
  • 7.2 创建一个焦点图
  • 7.3 最优的解决方案
  • 7.4 原型的拓展
  • 7.5 原型继承
  • 下章剧透
  • 忆之获
  • 我问你答
  • 第8章 一个人的寂寞——单例模式
  • 8.1 滑动特效
  • 8.2 命名空间的管理员
  • 8.3 模块分明
  • 8.4 创建一个小型代码库
  • 8.5 无法修改的静态变量
  • 8.6 惰性单例
  • 下章剧透
  • 忆之获
  • 我问你答
  • 第三篇 结构型设计模式
  • 第9章 套餐服务——外观模式
  • 9.1 添加一个点击事件
  • 9.2 兼容方式
  • 9.3 除此之外
  • 9.4 小型代码库
  • 下章剧透
  • 忆之获
  • 我问你答
  • 第10章 水管弯弯——适配器模式
  • 10.1 引入jQuery
  • 10.2 生活中的适配器
  • 10.3 jQuery适配器
  • 10.4 适配异类框架
  • 10.5 参数适配器
  • 10.6 数据适配
  • 10.7 服务器端数据适配
  • 下章剧透
  • 忆之获
  • 我问你答
  • 第11章 牛郎织女——代理模式
  • 11.1 无法获取图片上传模块数据
  • 11.2 一切只因跨域
  • 11.3 站长统计
  • 11.4 JSONP
  • 11.5 代理模板
  • 下章剧透
  • 忆之获
  • 我问你答
  • 第12章 房子装修——装饰者模式
  • 12.1 为输入框的新需求
  • 12.2 装饰已有的功能对象
  • 12.3 为输入框添砖加瓦
  • 下章剧透
  • 忆之获
  • 我问你答
  • 第13章 城市间的公路——桥接模式
  • 13.1 添加事件交互
  • 13.2 提取共同点
  • 13.3 事件与业务逻辑之间的桥梁
  • 13.4 多元化对象
  • 下章剧透
  • 忆之获
  • 我问你答
  • 第14章 超值午餐——组合模式
  • 14.1 新闻模块十万火急
  • 14.2 餐厅里的套餐业务
  • 14.3 每个成员要有祖先
  • 14.4 组合要有容器类
  • 14.5 创建一个新闻类
  • 14.6 把新闻模块创建出来
  • 14.7 表单中的应用
  • 下章剧透
  • 忆之获
  • 我问你答
  • 第15章 城市公交车——享元模式
  • 15.1 翻页需求
  • 15.2 冗余的结构
  • 15.3 享元对象
  • 15.4 实现需求
  • 15.5 享元动作
  • 下章剧透
  • 忆之获
  • 我问你答
  • 第四篇 行为型设计模式
  • 第16章 照猫画虎——模板方法模式
  • 16.1 提示框归一化
  • 16.2 美味的蛋糕
  • 16.3 创建基本提示框
  • 16.4 模板的原型方法
  • 16.5 根据模板创建类
  • 16.6 继承类也可作为模板类
  • 16.7 创建一个提示框
  • 16.8 创建多类导航
  • 16.9 创建导航更容易
  • 下章剧透
  • 忆之获
  • 我问你答
  • 第17章 通信卫星——观察者模式
  • 17.1 团队开发的坎坷
  • 17.2 卫星的故事
  • 17.3 创建一个观察者
  • 17.4 拉出来溜溜
  • 17.5 使用前的思考
  • 17.6 大显身手
  • 17.7 对象间解耦
  • 17.8 课堂演练
  • 下章剧透
  • 忆之获
  • 我问你答
  • 第18章 超级玛丽——状态模式
  • 18.1 最美图片
  • 18.2 分支判断的思考
  • 18.3 状态对象的实现
  • 18.4 状态对象演练
  • 18.5 超级玛丽
  • 18.6 状态的优化
  • 18.7 两种使用方式
  • 下章剧透
  • 忆之获
  • 我问你答
  • 第19章 活诸葛——策略模式
  • 19.1 商品促销
  • 19.2 活诸葛
  • 19.3 策略对象
  • 19.4 诸葛奇谋
  • 19.5 缓冲函数
  • 19.6 表单验证
  • 19.7 算法拓展
  • 19.8 算法调用
  • 下章剧透
  • 忆之获
  • 我问你答
  • 第20章 有序车站——职责链模式
  • 20.1 “半成品”需求
  • 20.2 分解需求
  • 20.3 第一站——请求模块
  • 20.4 下一站——响应数据适配模块
  • 20.5 终点站——创建组件模块
  • 20.6 站点检测——单元测试
  • 20.7 方案确定
  • 下章剧透
  • 忆之获
  • 我问你答
  • 第21章 命令模式
  • 21.1 自由化创建视图
  • 21.2 命令对象
  • 21.3 视图创建
  • 21.4 视图展示
  • 21.5 命令接口
  • 21.6 大功告成
  • 21.7 绘图命令
  • 21.8 写一条命令
  • 下章剧透
  • 忆之获
  • 我问你答
  • 第22章 驻华大使——访问者模式
  • 22.1 设置样式
  • 22.2 自娱自乐的IE
  • 22.3 访问操作元素
  • 22.4 事件自定义数据
  • 22.5 原生对象构造器
  • 22.6 对象访问器
  • 22.7 操作类数组
  • 下章剧透
  • 忆之获
  • 我问你答
  • 第23章 媒婆——中介者模式
  • 23.1 导航设置层
  • 23.2 创建中介者对象
  • 23.3 试试看,可否一用
  • 23.4 攻克需求
  • 23.5 订阅消息
  • 23.6 发布消息
  • 下章剧透
  • 忆之获
  • 我问你答
  • 第24章 做好笔录——备忘录模式
  • 24.1 新闻展示
  • 24.2 缓存数据
  • 24.3 新闻缓存器
  • 24.4 工作中的备忘录
  • 下章剧透
  • 忆之获
  • 我问你答
  • 第25章 点钞机——迭代器模式
  • 25.1 简化循环遍历
  • 25.2 迭代器
  • 25.3 实现迭代器
  • 25.4 小试牛刀
  • 25.5 数组迭代器
  • 25.6 对象迭代器
  • 25.7 试用迭代器
  • 25.8 同步变量迭代器
  • 25.9 分支循环嵌套问题
  • 25.10 解决方案
  • 下章剧透
  • 忆之获
  • 我问你答
  • 第26章 语言翻译——解释器模式
  • 26.1 统计元素路径
  • 26.2 描述文法
  • 26.3 解释器
  • 26.4 同级兄弟元素遍历
  • 26.5 遍历文档树
  • 26.6 小试牛刀
  • 下章剧透
  • 忆之获
  • 我问你答
  • 第五篇 技巧型设计模式
  • 第27章 永无尽头——链模式
  • 27.1 深究jQuery
  • 27.2 原型式继承
  • 27.3 找位助手
  • 27.4 获取元素
  • 27.5 一个大问题
  • 27.6 覆盖获取
  • 27.7 方法丢失
  • 27.8 对比jQuery
  • 27.9 丰富元素获取
  • 27.10 数组与对象
  • 27.11 方法拓展
  • 27.12 添加方法
  • 27.13 大功告成
  • 下章剧透
  • 忆之获
  • 我问你答
  • 第28章 未来预言家——委托模式
  • 28.1 点击日历交互
  • 28.2 委托父元素
  • 28.3 预言未来
  • 28.4 内存外泄
  • 28.5 数据分发
  • 下章剧透
  • 忆之获
  • 我问你答
  • 第29章 数据管理器——数据访问对象模式
  • 29.1 用户引导
  • 29.2 数据访问对象类
  • 29.3 数据操作状态
  • 29.4 增添数据
  • 29.5 查找数据
  • 29.6 删除数据
  • 29.7 检验DAO
  • 29.8 MongoDB
  • 29.9 在nodejs中写入配置项
  • 29.10 连接MongoDB
  • 29.11 操作集合
  • 29.12 插入操作
  • 29.13 删除操作
  • 29.14 更新操作
  • 29.15 查找操作
  • 29.16 操作其他集合
  • 下章剧透
  • 忆之获
  • 我问你答
  • 第30章 执行控制——节流模式
  • 30.1 返回顶部
  • 30.2 节流器
  • 30.3 优化浮层
  • 30.4 创建浮层类
  • 30.5 添加节流器
  • 30.6 图片的延迟加载
  • 30.7 延迟加载图片类
  • 30.8 获取容器内的图片
  • 30.9 加载图片
  • 30.10 筛选需加载的图片
  • 30.11 获取纵坐标
  • 30.12 节流器优化加载
  • 30.13 大功告成
  • 30.14 统计打包
  • 30.15 组装统计
  • 下章剧透
  • 忆之获
  • 我问你答
  • 第31章 卡片拼图——简单模板模式
  • 31.1 展示模板
  • 31.2 实现方案
  • 31.3 创建文字列表视图
  • 31.4 新方案
  • 31.5 再次优化
  • 31.6 模板生成器
  • 31.7 最佳方案
  • 下章剧透
  • 忆之获
  • 我问你答
  • 第32章 机器学习——惰性模式
  • 32.1 对事件的思考
  • 32.2 机器学习
  • 32.3 加载即执行
  • 32.4 惰性执行
  • 32.5 创建XHR对象
  • 32.6 第一种方案
  • 32.7 第二种方案
  • 下章剧透
  • 忆之获
  • 我问你答
  • 第33章 异国战场——参与者模式
  • 33.1 传递数据
  • 33.2 函数绑定
  • 33.3 应用于事件
  • 33.4 原生bind方法
  • 33.5 函数柯里化
  • 33.6 重构bind
  • 33.7 兼容版本
  • 下章剧透
  • 忆之获
  • 我问你答
  • 第34章 入场仪式——等待者模式
  • 34.1 接口拆分
  • 34.2 入场仪式
  • 34.3 等待者对象
  • 34.4 监控对象
  • 34.5 完善接口方法
  • 34.6 学以致用
  • 34.7 异步方法
  • 34.8 结果如何
  • 34.9 框架中的等待者
  • 34.10 封装异步请求
  • 34.11 轮询
  • 下章剧透
  • 忆之获
  • 我问你答
  • 第六篇 架构型设计模式
  • 第35章 死心眼——同步模块模式
  • 35.1 排队开发
  • 35.2 模块化开发
  • 35.3 模块管理器与创建方法
  • 35.4 创建模块
  • 35.5 模块调用方法
  • 35.6 调用模块
  • 下章剧透
  • 忆之获
  • 我问你答
  • 第36章 大心脏——异步模块模式
  • 36.1 异步加载文件中的模块
  • 36.2 异步模块
  • 36.3 闭包环境
  • 36.4 创建与调度模块
  • 36.5 加载模块
  • 36.6 设置模块
  • 36.7 学以致用
  • 36.8 实现交互
  • 下章剧透
  • 忆之获
  • 我问你答
  • 第37章 分而治之——Widget模式
  • 37.1 视图模块化
  • 37.2 模板引擎
  • 37.3 实现原理
  • 37.4 模板引擎模块
  • 37.5 处理数据
  • 37.6 获取模板
  • 37.7 处理模板
  • 37.8 编译执行
  • 37.9 几种模板
  • 37.10 实现组件
  • 下章剧透
  • 忆之获
  • 我问你答
  • 第38章 三人行——MVC模式
  • 38.1 小白的顾虑
  • 38.2 一个传说——MVC
  • 38.3 数据层
  • 38.4 视图层
  • 38.5 控制器
  • 38.6 侧边导航栏
  • 38.7 侧边导航栏数据模型层
  • 38.8 侧边导航栏视图层
  • 38.9 侧边导航栏控制器层
  • 38.10 执行控制器
  • 38.11 增加一个模块
  • 下章剧透
  • 忆之获
  • 我问你答
  • 第39章 三军统帅——MVP模式
  • 39.1 数据模型层与视图层联姻的代价
  • 39.2 MVP模式
  • 39.3 数据层的填补
  • 39.4 视图层的大刀阔斧
  • 39.5 模板创建的分层处理
  • 39.6 处理一个元素
  • 39.7 改头换面的管理器
  • 39.8 一个案例
  • 39.9 用数据装扮导航
  • 39.10 千呼万唤始出来的导航
  • 39.11 模块开发中的应用
  • 39.12 MVP构造函数
  • 39.13 增添管理器
  • 39.14 增加一个模块
  • 下章剧透
  • 忆之获
  • 我问你答
  • 第40章 视图的逆袭——MVVM模式
  • 40.1 视图层的思考
  • 40.2 滚动条与进度条
  • 40.3 组件的探讨
  • 40.4 视图模型层
  • 40.5 创建进度条
  • 40.6 创建滑动条
  • 40.7 让滑动条动起来
  • 40.8 为组件点睛
  • 40.9 寻找我的组件
  • 40.10 展现组件
  • 下章剧透
  • 忆之获
  • 我问你答
  • 附录 A
展开全部

评分及书评

评分不足
1个评分
  • 用户头像
    给这本书评了
    4.0

    书是 14 年度写完的,使用的 ES5 语法,那个时候还是 JQuery 的天下,不过对于 js 语法的设计模式还是给了我很多收获,值得推荐

      转发
      评论

    出版方

    人民邮电出版社

    人民邮电出版社是工业和信息化部主管的大型专业出版社,成立于1953年10月1日。人民邮电出版社坚持“立足信息产业、面向现代社会、传播科学知识、服务科教兴国”,致力于通信、计算机、电子技术、教材、少儿、经管、摄影、集邮、旅游、心理学等领域的专业图书出版。