书籍详情
设计模式:可复用面向对象软件的基础(双语版)
作者:(美)Erich Gamma;Richard Helm;Ralph Johnson;John Vlissides;李英军;马晓星;蔡敏;刘建中译
出版社:机械工业出版社
出版时间:2007-03-01
ISBN:9787111211266
定价:¥69.00
购买这本书可以去
内容简介
本书是软件设计领域中的经典著作,对软件技术的发展起了重要作用。本书结合设计实例从面向对象的设计中精选出23个设计模式,总结了面向对象设计中最有价值的经验,并且用简洁可复用的形式表达出来。本书分类描述了一组设计良好、表达清楚的软件设计模式,这些模式在实用环境下特别有用。本书适合大学计算机专业的学生、研究生及相关人员参考。.本书是引导读者走出软件设计迷宫的指路明灯,凝聚了软件开发界几十年的设计经验。四位顶尖的面向对象领域专家精心挑选了最具价值的23种设计实践,加以分类整理和命名,并用简洁而易于重用的形式表达出来。这23个模式逐渐成为开发界进行技术交流所必备的基本知识和语汇。..本书已经成为广大技术人员的圣经和经典,一直名列Amazon和各大书店销售榜前列。十年来不断重印,销售逾七万册。...
作者简介
Erich Gamma, 在苏黎世大学获得计算机科学博士学位,曾供职于瑞士联邦银行、Taligent、OTI公司。现在是Eclipse项目的主要技术负责人之一。Richard Helm,在墨尔本大学获得计算机科学博士学位,曾在IBM T.J. Watson 担任研究员。现在IBM咨询集团供职。 Ralph Johnson,在康内尔大学获得计算机科学博士学位,目前是伊利诺伊大学教授,在模式、重构等领域均有很高造诣。 John Vlissides,在斯坦福大学获得计算机科学博士学位,目前是 IBM T.J. Watson 研究中心的研究员。除本书外,他还是 Addison-Wesley “软件模式”丛书的顾问。
目录
序言 386
前言 387
读者指南 388
第1章 引言 89
1.1 什么是设计模式 390
1.2 Smalltalk MVC中的设计模式 391
1.3 描述设计模式 392
1.4 设计模式的编目 393
1.5 组织编目 395
1.6 设计模式怎样解决设计问题 3 6
1.6.1 寻找合适的对象 397
1.6.2 决定对象的粒度 397
1.6.3 指定对象接口 397
1.6.4 描述对象的实现 398
1.6.5 运用复用机制 401
1.6.6 关联运行时刻和编译时刻的结构 403
1.6.7 设计应支持变化 404
1.7 怎样选择设计模式 407
1.8 怎样使用设计模式 408
第2章 实例研究:设计一个文档编辑器 410
2.1 设计问题 411
2.2 文档结构 411
2.2.1 递归组合 412
2.2.2 图元 413
2.2.3 组合模式 415
2.3 格式化 415
2.3.1 封装格式化算法 415
2.3.2 Compositor和Composition 416
2.3.3 策略模式 417
2.4 修饰用户界面 417
2.4.1 透明围栏 417
2.4.2 Monoglyph 418
2.4.3 Decorator 模式 420
2.5 支持多种视感标准 420
2.5.1 对象创建的抽象 420
2.5.2 工厂类和产品类 421
2.5.3 Abstract Factory模式 423
2.6 支持多种窗口系统 423
2.6.1 我们是否可以使用Abstract Factory模式 423
2.6.2 封装实现依赖关系 424
2.6.3 Window和WindowImp 425
2.6.4 Bridge 模式 428
2.7 用户操作 8
2.7.1 封装一个请求 429
2.7.2 Command类及其子类 429
2.7.3 撤销和重做 430
2.7.4 命令历史记录 431
2.7.5 Command模式 432
2.8 拼写检查和断字处理 432
2.8.1 访问分散的信息 432
2.8.2 封装访问和遍历 433
2.8.3 Iterator类及其子类 434
2.8.4 Iterator模式 436
2.8.5 遍历和遍历过程中的动作 436
2.8.6 封装分析 437
2.8.7 Visitor类及其子类 440
2.8.8 Visitor模式 441
2.9 小结 441
第3章 创建型模式 442
3.1 Abstract Factory(抽象工厂)——对象创建型模式 445
3.2 Builder(生成器)——对象创建型模式 452
3.3 Factory Method(工厂方法)——对象创建型模式 458
3.4 Prototype(原型)——对象创建型模式 466
3.5 Singleton(单件)——对象创建型模式 473
3.6 创建型模式的讨论 478
第4章 结构型模式 480
4.1 Adapter(适配器)——类对象结构型模式 481
4.2 Bridge(桥接)——对象结构型模式 489
4.3 Composite(组成)——对象结构型模式 497
4.4 Decorator(装饰)——对象结构型模式 505
4.5 FACADE(外观)——对象结构型模式 511
4.6 Flyweight(享元)——对象结构型模式 518
4.7 Proxy(代理)——对象结构型模式 527
4.8 结构型模式的讨论 535
4.8.1 Adapter与Bridge 535
4.8.2 Composite. Decorator与Proxy 535
第5章 行为模式 537
5.1 CHAIN OF RESPONSIBILITY(职责链)——对象行为型模式 537
5.2 Command(命令)——对象行为型模式 545
5.3 INTERPRETER(解释器)——类行为型模式 552
5.4 ITERATOR(迭代器)——对象行为型模式 562
5.5 Mediator(中介者)——对象行为型模式 572
5.6 MEMENTO(备忘录)——对象行为型模式 579
5.7 OBSERVER(观察者)——对象行为型模式 586
5.8 STATE(状态)——对象行为型模式 593
5.9 STRATEGY(策略)——对象行为型模式 600
5.10 TEMPLATE METHOD(模板方法)——类行为型模式 607
5.11 VISITOR(访问者)——对象行为型模式 610
5.12 行为模式的讨论 620
5.12.1 封装变化 620
5.12.2 对象作为参数 621
5.12.3 通信应该被封装还是被分布 621
5.12.4 对发送者和接收者解耦 622
5.12.5 总结 623
第6章 结论 625
6.1 设计模式将带来什么 625
6.2 一套通用的设计词汇 625
6.3 书写文档和学习的辅助手段 626
6.4 现有方法的一种补充 626
6.5 重构的目标 627
6.6 本书简史 627
6.7 模式界 628
6.8 Alexander的模式语言 628
6.9 软件中的模式 629
6.10 邀请参与 630
6.11 临别感想 630
附录A 词汇表 631
附录B 图示符号指南 634
附录C 基本类 637
前言 387
读者指南 388
第1章 引言 89
1.1 什么是设计模式 390
1.2 Smalltalk MVC中的设计模式 391
1.3 描述设计模式 392
1.4 设计模式的编目 393
1.5 组织编目 395
1.6 设计模式怎样解决设计问题 3 6
1.6.1 寻找合适的对象 397
1.6.2 决定对象的粒度 397
1.6.3 指定对象接口 397
1.6.4 描述对象的实现 398
1.6.5 运用复用机制 401
1.6.6 关联运行时刻和编译时刻的结构 403
1.6.7 设计应支持变化 404
1.7 怎样选择设计模式 407
1.8 怎样使用设计模式 408
第2章 实例研究:设计一个文档编辑器 410
2.1 设计问题 411
2.2 文档结构 411
2.2.1 递归组合 412
2.2.2 图元 413
2.2.3 组合模式 415
2.3 格式化 415
2.3.1 封装格式化算法 415
2.3.2 Compositor和Composition 416
2.3.3 策略模式 417
2.4 修饰用户界面 417
2.4.1 透明围栏 417
2.4.2 Monoglyph 418
2.4.3 Decorator 模式 420
2.5 支持多种视感标准 420
2.5.1 对象创建的抽象 420
2.5.2 工厂类和产品类 421
2.5.3 Abstract Factory模式 423
2.6 支持多种窗口系统 423
2.6.1 我们是否可以使用Abstract Factory模式 423
2.6.2 封装实现依赖关系 424
2.6.3 Window和WindowImp 425
2.6.4 Bridge 模式 428
2.7 用户操作 8
2.7.1 封装一个请求 429
2.7.2 Command类及其子类 429
2.7.3 撤销和重做 430
2.7.4 命令历史记录 431
2.7.5 Command模式 432
2.8 拼写检查和断字处理 432
2.8.1 访问分散的信息 432
2.8.2 封装访问和遍历 433
2.8.3 Iterator类及其子类 434
2.8.4 Iterator模式 436
2.8.5 遍历和遍历过程中的动作 436
2.8.6 封装分析 437
2.8.7 Visitor类及其子类 440
2.8.8 Visitor模式 441
2.9 小结 441
第3章 创建型模式 442
3.1 Abstract Factory(抽象工厂)——对象创建型模式 445
3.2 Builder(生成器)——对象创建型模式 452
3.3 Factory Method(工厂方法)——对象创建型模式 458
3.4 Prototype(原型)——对象创建型模式 466
3.5 Singleton(单件)——对象创建型模式 473
3.6 创建型模式的讨论 478
第4章 结构型模式 480
4.1 Adapter(适配器)——类对象结构型模式 481
4.2 Bridge(桥接)——对象结构型模式 489
4.3 Composite(组成)——对象结构型模式 497
4.4 Decorator(装饰)——对象结构型模式 505
4.5 FACADE(外观)——对象结构型模式 511
4.6 Flyweight(享元)——对象结构型模式 518
4.7 Proxy(代理)——对象结构型模式 527
4.8 结构型模式的讨论 535
4.8.1 Adapter与Bridge 535
4.8.2 Composite. Decorator与Proxy 535
第5章 行为模式 537
5.1 CHAIN OF RESPONSIBILITY(职责链)——对象行为型模式 537
5.2 Command(命令)——对象行为型模式 545
5.3 INTERPRETER(解释器)——类行为型模式 552
5.4 ITERATOR(迭代器)——对象行为型模式 562
5.5 Mediator(中介者)——对象行为型模式 572
5.6 MEMENTO(备忘录)——对象行为型模式 579
5.7 OBSERVER(观察者)——对象行为型模式 586
5.8 STATE(状态)——对象行为型模式 593
5.9 STRATEGY(策略)——对象行为型模式 600
5.10 TEMPLATE METHOD(模板方法)——类行为型模式 607
5.11 VISITOR(访问者)——对象行为型模式 610
5.12 行为模式的讨论 620
5.12.1 封装变化 620
5.12.2 对象作为参数 621
5.12.3 通信应该被封装还是被分布 621
5.12.4 对发送者和接收者解耦 622
5.12.5 总结 623
第6章 结论 625
6.1 设计模式将带来什么 625
6.2 一套通用的设计词汇 625
6.3 书写文档和学习的辅助手段 626
6.4 现有方法的一种补充 626
6.5 重构的目标 627
6.6 本书简史 627
6.7 模式界 628
6.8 Alexander的模式语言 628
6.9 软件中的模式 629
6.10 邀请参与 630
6.11 临别感想 630
附录A 词汇表 631
附录B 图示符号指南 634
附录C 基本类 637
猜您喜欢