设计模式:可复用面向对象软件的基础(精装版)
新华书店全新正版,极速发货,假一罚十,可开电子发票,请放心购买。
¥
63.95
6.5折
¥
99
全新
库存18件
作者[美] 埃里克·伽玛(Erich Gamma) 理查德·赫尔姆(Richard Helm) 拉尔夫·约翰逊(Ralph Johnson) 约翰·威利斯迪斯(John Vlissides) 著
出版社机械工业出版社
ISBN9787111760238
出版时间2024-08
装帧精装
开本16开
定价99元
货号1203363543
上书时间2024-10-23
商品详情
- 品相描述:全新
- 商品描述
-
目录
目录
赞誉
序言
前言
读者指南
第1章?引言?┊1
1.1 什么是设计模式?┊3
1.2 Smalltalk MVC中的设计模式?┊4
1.3 描述设计模式?┊6
1.4 设计模式的编目?┊7
1.5 组织编目?┊8
1.6 设计模式怎样解决设计问题?┊10
1.6.1 寻找合适的对象?┊10
1.6.2 决定对象的粒度?┊11
1.6.3 指定对象接口?┊11
1.6.4 描述对象的实现?┊12
1.6.5 运用复用机制?┊15
1.6.6 关联运行时和编译时的结构?┊18
1.6.7 设计应支持变化?┊19
1.7 怎样选择设计模式?┊22
1.8 怎样使用设计模式?┊24
第2章?实例研究:设计一个文档?编辑器?┊25
2.1 设计问题?┊27
2.2 文档结构?┊27
2.2.1 递归组合?┊28
2.2.2 图元?┊29
2.2.3 组合模式?┊31
2.3 格式化?┊31
2.3.1 封装格式化算法?┊31
2.3.2 Compositor和Composition?┊32
2.3.3 策略模式?┊33
2.4 修饰用户界面?┊34
2.4.1 透明围栏?┊34
2.4.2 MonoGlyph?┊35
2.4.3 Decorator模式?┊36
2.5 支持多种视感标准?┊37
2.5.1 对象创建的抽象?┊37
2.5.2 工厂类和产品类?┊38
2.5.3 Abstract Factory 模式?┊40
2.6 支持多种窗口系统?┊40
2.6.1 是否可以使用Abstract Factory模式?┊40
2.6.2 封装实现依赖关系?┊41
2.6.3 Window和WindowImp?┊43
2.6.4 Bridge模式?┊46
2.7 用户操作?┊46
2.7.1 封装一个请求?┊47
2.7.2 Command类及其子类?┊47
2.7.3 撤销和重做?┊48
2.7.4 命令历史记录?┊49
2.7.5 Command模式?┊50
2.8 拼写检查和断字处理?┊50
2.8.1 访问分散的信息?┊51
2.8.2 封装访问和遍历?┊51
2.8.3 Iterator类及其子类?┊52
2.8.4 Iterator模式?┊55
2.8.5 遍历和遍历过程中的动作?┊55
2.8.6 封装分析?┊56
2.8.7 Visitor类及其子类?┊59
2.8.8 Visitor模式?┊60
2.9 小结?┊60
第3章?创建型模式?┊62
3.1 Abstract Factory(抽象工厂)—对象创建型模式?┊66
3.2 Builder(生成器)—对象创建型模式?┊74
3.3 Factory Method(工厂方法)—对象创建型模式?┊81
3.4 Prototype(原型)—对象创建型模式?┊89
3.5 Singleton(单件)—对象创建型模式?┊96
3.6 创建型模式的讨论?┊102
第4章?结构型模式?┊104
4.1 Adapter(适配器)—类对象结构型模式?┊106
4.2 Bridge(桥接)—对象结构型模式?┊115
4.3 Composite(组合)—对象结构型模式?┊123
4.4 Decorator(装饰)—对象结构型模式?┊132
4.5 Facade(外观)—对象结构型模式?┊139
4.6 Flyweight(享元)—对象结构型模式?┊146
4.7 Proxy(代理)—对象结构型模式?┊155
4.8 结构型模式的讨论 ?┊164
4.8.1 Adapter与Bridge?┊164
4.8.2 Composite、Decorator与Proxy?┊164
第5章?行为型模式?┊166
5.1 Chain of Responsibility(职责链)—对象行为型模式?┊167
5.2 Command(命令)—对象行为型模式?┊175
5.3 Interpreter(解释器)—类行为型模式?┊183
5.4 Iterator(迭代器)—对象行为型模式?┊193
5.5 Mediator(中介者)—对象行为型模式?┊205
5.6 Memento(备忘录)—对象行为型模式?┊212
5.7 Observer(观察者)—对象行为型模式?┊219
5.8 State(状态)—对象行为型模式?┊227
5.9 Strategy(策略)—对象行为型模式?┊234
5.10 Template Method(模板方法)— 类行为型模式?┊242
5.11 Visitor(访问者)—对象行为型 模式?┊246
5.12 行为型模式的讨论?┊256
5.12.1 封装变化?┊256
5.12.2 对象作为参数?┊257
5.12.3 通信应该被封装还是被分布?┊257
5.12.4 对发送者和接收者解耦?┊258
5.12.5 总结?┊260
第6章?结论?┊261
6.1 设计模式将带来什么?┊262
6.1.1 一套通用的设计词汇?┊262
6.1.2 书写文档和学习的辅助手段?┊263
6.1.3 现有方法的一种补充?┊263
6.1.4 重构的目标?┊264
6.2 本书简史?┊265
6.3 模式界?┊266
6.3.1 Alexander的模式语言?┊266
6.3.2 软件中的模式?┊267
6.4 邀请参与?┊267
6.5 临别感想?┊268
附录A?词汇表?┊269
附录B?图示符号指南?┊273
附录 C?基本类?┊277
参考文献?┊284
内容摘要
本书结合设计实例从面向对象的设计中精选出23个设计模式, 总结了面向对象设计中最有价值的经验, 并且用简洁可复用的形式表达出来。本书分类描述了一组设计良好、 表达清楚的软件设计模式, 这些模式在实用环境下特别有用。 本书适合大学计算机专业的学生、研究生及相关人员参考。
主编推荐
本书是软件工程领域的经典名著,引导读者走出软件设计迷宫的指路明灯,凝聚了软件开发界几十年的设计经验。四位顶尖的面向对象领域专家精心选取了颇具价值的设计实践,加以分类整理和命名,并用简洁而易于复用的形式表达出来。本书已经成为面向对象技术人员的词典,书中定义的23个模式逐渐成为开发界技术交流所必备的基础知识和词汇。
— 没有更多了 —
以下为对购买帮助不大的评价