基本*息
书名:设计模式
定价:49.00元
作者:(美)奥斯马尼
出版社:人民邮电出版社
出版*期:2013-06-01
ISBN:9787115314543
字数:
页码:
版次:1
装帧: 装
开本:16开
商品重量:0.400kg
编辑推荐
设计模式 你如何学会把经典 现代设计模式应用到语言中,来编写优美、结构化 可维护的代码。如果想让代码保持高效、更 管 ,并且能够 步**的**实践,那么设计模式正是为你打造的。
内容提要
设计模式是解决软件设计中常 问题的可复用方案。学* 何编程语言,设计模式都是一个令人兴奋 具吸引力的 题。
《设计模式》是设计模式的学*指南。全书分为14章。*先介绍了什么是模式、模式的结构、类别、模式的分类、如何编写模式等等;然后,集中介绍了很多流行的设计模式在中的应用,包括Module(模块)模式、Observer(观察者)模式、Facade(外观)模式 Medi*or(中介者)模式;后,还探讨了模块化的模式、*Query及其*件中的设计模式。
《设计模式》适合 业的Web开发人员 前端工程 阅读。通过阅读本书, 们将能够提高对设计模式的认识,并学会如何将设计模式应用到编程语言中。
目录
1章 介绍
2章 什么是模式
我们每天都在使用模式
3章 模式状态测试、Proto模式及三法则
4章 设计模式的结构
5章 编写设计模式
6章 模式
7章 设计模式类别
8章 设计模式分类
有关类(Class)的要点
9章 设计模式
9.1 Constru*or(构造 )模式
9.1.1 对象创建
9.1.2 基本Constru*or(构造 )
9.1.3 带原型的Constru*or(构造 )
9.2 Module(模块)模式
9.2.1 对象字 量
9.2.2 Module(模块)模式
9.2.3 Module模式变化
9.3 Revealing Module(揭示模块)模式
9.3.1 优点
9.3.2 缺点
9.4 Singleton(单例)模式
9.5 Observer(观察者)模式
9.5.1 Observer(观察者)模式 Publish/Subscribe(发布/订阅)模式的区别
9.5.2 优点
9.5.3 缺点
9.5.4 Publish/Subscribe实现
9.6 Medi*or(中介者)模式
9.6.1 基本实现
9.6.2 高级实现
9.6.3 示例
9.6.4 优点 缺点
9.6.5 中介者(Medi*or)与观察者(Observer)
9.6.6 中介者(Medi*or)与外观(Facade)
9.7 Prototype(原型)模式
9.8 Com*nd(命令)模式
9.9 Facade(外观)模式
有关抽象的要点
9.10 Fa*ory(工厂)模式
9.10.1 何时使用Fa*ory模式
9.10.2 何时不应使用Fa*ory模式
9.10.3 Abstra* Fa*ory(抽象工厂)
9.11 Min模式
9.11.1 子类化
9.11.2 Min(混入)
9.12 Decor*or(装饰者)模式
9.12.1 伪经典Decor*or(装饰者)
9.12.2 使用*Query的装饰者
9.12.3 优点 缺点
9.13 Flyweight(享元)模式
9.13.1 使用Flyweight模式
9.13.2 Flyweight 共享数据
9.13.3 实现经典Flyweight(享元)
9.13.4 转换代码以使用Flyweight(享元)模式
9.13.5 基本工厂
9.13.6 管 外部状态
9.13.7 Flyweight(享元)模式 DOM
10章 MV*模式
10.1 MVC
S*lltalk-80 MVC
10.2 为开发人员提*的MVC
10.2.1 Model(模型)
10.2.2 View(视图)
10.2.3 Controller( )
10.2.4 Spine.*s与Backbone.*s
10.3 MVC为我们提*了什么
10.4 中的S*lltalk-80 MVC
10.4.1 深入挖掘
10.4.2 结
10.5 MVP
10.5.1 Model、View Presenter
10.5.2 MVP或MVC?
10.5.3 MVC、MVP Backbone.*s
10.6 MVVM
10.6.1 历史
10.6.2 Model
10.6.3 View
10.6.4 ViewModel
10.6.5 小结:View ViewModel
10.6.6 小结:ViewModel Model
10.7 利与弊
10.7.1 优点
10.7.2 缺点
10.8 使用更松散数据绑定的MVVM
10.9 MVC、MVP与MVVM
10.10 Backbone.*s与KnockoutJS
11章 模块化的设计模式
11.1 脚本加载 要点
11.2 AMD
11.2.1 模块入门
11.2.2 使用Do*o的AMD模块
11.2.3 AMD模块设计模式(Do*o)
11.2.4 使用*Query的AMD模块
11.2.5 AMD 结
11.3 CommonJS
11.3.1 入门指南
11.3.2 使用多个依赖
11.3.3 持CommonJS的加载 框架
11.3.4 CommonJS适用 浏览 吗?
11.3.5 伸阅读
11.4 AMD CommonJS:互相竞争,标准 效
UMD:用 *件的AMD CommonJS兼容模块
11.5 ES Harmony
11.5.1 具有Imports Exports的模块
11.5.2 从远程数据源加载的模块
11.5.3 模块加载 API
11.5.4 用 服 的类CommonJS模块
11.5.5 具有构造函数、getter setter的类
11.5.6 ES Harmony 结
11.5.7 伸阅读
11.6 结
12章 *Query中的设计模式
12.1 Composite(组合)模式
12.2 Adapter(适 )模式
12.3 Facade(外观)模式
12.4 Observer(观察者)模式
12.5 Iter*or(迭代 )模式
12.6 迟初始化
12.7 Proxy(代 )模式
12.8 Builder(*成 )模式
13章 *Query*件设计模式
13.1 模式
13.2 Lightweight Start模式
伸阅读
13.3 整的Widget Fa*ory模式
伸阅读
13.4 嵌 命名空间*件模式
伸阅读
13.5 自定义 件*件模式(使用Widget Fa*ory)
伸阅读
13.6 使用DOM-to-Ob*e* Bridge模式的原型继承
伸阅读
13.7 *Query UI Widget Fa*ory Bridge模式
伸阅读
13.8 使用Widget Fa*ory的*Query Mobile Widget
13.9 RequireJS *Query UI Widget Fa*ory
13.9.1 用法
13.9.2 伸阅读
13.10 全局选项 单次调用可重写选项(佳选项模式)
伸阅读
13.11 高可 高可变的*件模式
伸阅读
13.12 是什么使*件模式
13.12.1 质量
13.12.2 代码风格
13.12.3 兼容*
13.12.4 可靠*
13.12.5 *能
13.12.6 *档
13.12.7 维护的可能*
13.13 结
13.14 命名空间模式
13.15 命名空间基础
13.15.1 单一全局变量
13.15.2 命名空间前缀
13.15.3 对象字 量表示法
13.15.4 嵌 命名空间
13.15.5 立即调用的函数表 式(IIFE)
13.15.6 命名空间注入
13.16 高级命名空间模式
13.16.1 自动嵌 的命名空间
13.16.2 依赖 明模式
13.16.3 深度对象扩展
13.16.4 推荐
14章 结
附录 参 *献
作者介绍
*摘
序言