网站首页  软件下载  游戏下载  翻译软件  电子书下载  电影下载  电视剧下载  教程攻略

请输入您要查询的图书:

 

书名 从零学JAVA设计模式
分类 教育考试-考试-计算机类
作者 [美]米罗斯拉夫·威格纳(Miroslav Wengner)
出版社 机械工业出版社
下载
简介
编辑推荐
设计模式的种类繁多,并且不断有新的模式出现,本书涵盖了23种传统的设计模式、11 种较为常见的模式,以及8种适用于多线程环境的并发模式。另外,本书还简要介绍了13种负面模式(即反模式)。作者讲解这些模式的时候,不仅给出了简洁、直观的范例代码,而且还利用UML类图与JFR工具展示了运用该模式的程序所具备的架构及运行细节,让读者能够更全面地了解模式对代码结构的影响,以及模式与Java虚拟机的交互情况。
内容推荐
本书以实用的设计模式为例,讲解了Java近年来在改善语法方面取得的进展,同时在实现这些模式的过程中展示了语言特性、设计模式与平台效率之间的关系。本书涵盖23种传统的设计模式、11种较为常见的模式,以及8种适用于多线程环境的并发模式。另外,本书还简要介绍了15种反模式。作者讲解这些模式的时候不仅给出了简洁、直观的范例代码,而且还利用UML类图与JFR工具展示了运用该模式的程序所具备的架构及运行细节,让读者能够更全面地了解模式对代码结构的影响,以及模式与Java虚拟机的交互情况。本书的特点在于把Java这种成熟的编程语言以及该语言最近新增的特性与各种设计模式结合起来,告诉读者怎样充分发挥Java的特性与优势,从而更好地实现设计模式,避免陷入空谈概念而无法落实的境地。
目录
译者序

前  言
审校者简介
第一部分  设计模式与Java平台
的功能
第1章  软件设计模式入门  3
1.1  技术准备  3
1.2  编程:从符号到程序  3
1.3  OOP与APIE  5
1.3.1  封装—只公布那些必须
公布的信息  6
1.3.2  继承—在应该创造新类
的时候创造  6
1.3.3  多态—根据需要表现出
不同的行为  7
1.3.4  抽象—从细节中提取一套
标准功能  9
1.3.5  把抽象、多态、继承、封装
这四个概念贯穿起来  11
1.4  SOLID设计原则  12
1.4.1  单一功能原则—每个类
只负责一件事  13
1.4.2  开闭原则  13
1.4.3  里氏替换原则—子类必须
能够当作超类来使用  14
1.4.4  接口隔离原则  15
1.4.5  依赖反转原则  17
1.5  设计模式为何如此重要  18
1.6  设计模式能够解决哪些问题  18
1.7  小结  20
1.8  习题  21
1.9  参考资料  21
第2章  Java平台  22
2.1  技术准备  22
2.2  Java是如何诞生的  22
2.3  Java平台的模型与功能  23
2.3.1  JDK  24
2.3.2  JRE  25
2.3.3  JVM  25
2.4  垃圾收集机制与Java内存模型  30
2.4.1  JMM  30
2.4.2  GC与自动内存管理  32
2.5  Java的核心API  35
2.5.1  原始类型与包装器类型  36
2.5.2  与String有关的API  37
2.5.3  数组  39
2.5.4  Java集合框架  40
2.5.5  Math API  42
2.6  函数式编程与Java  43
2.6.1  lambda与函数接口  43
2.6.2  用匿名类与lambda表达式充
当函数接口并在Stream API
中使用  44
2.7  Java的模块系统  45
2.8  Java语言在第11~17版之间
添加的特性  48
2.8.1  允许使用var关键字声明
lambda表达式的参数
(Java SE 11,JEP-323)  48
2.8.2  switch表达式(Java SE 14,
JEP-361)  49
2.8.3  文本块(Java SE 15,
JEP-378)  49
2.8.4  instanceof运算符的模式匹配
功能(Java SE 16,JEP-394)  50
2.8.5  record(Java SE 16,
JEP-395)  50
2.8.6  sealed类(Java SE 17,
JEP-409)  50
2.8.7  Java API采用UTF-8作为
默认字符集(Java SE 18,
JEP-400)  51
2.8.8  带有模式匹配功能的switch
(Java SE 18,Second Preview,
JEP-420)  52
2.9  Java的并发  52
2.9.1  从线程到执行器  52
2.9.2  执行任务的两种方式  54
2.10  小结  55
2.11  习题  56
2.12  参考资料  56
第二部分  用Java语言实现
标准的设计模式
第3章  创建型设计模式  61
3.1  技术准备  61
3.2  从类怎么变成对象说起  61
3.3  工厂方法模式—根据输入的
数据创建对象  63
3.3.1  动机  63
3.3.2  该模式在JDK中的运用  63
3.3.3  范例代码  64
3.3.4  模式小结  66
3.4  抽象工厂模式—用适当的
工厂方法创建某个系列的产品  66
3.4.1  动机  67
3.4.2  该模式在JDK中的运用  67
3.4.3  范例代码  67
3.4.4  模式小结  69
3.5  建造者模式—实例化复杂
的对象  70
3.5.1  动机  70
3.5.2  该模式在JDK中的运用  70
3.5.3  范例代码  71
3.5.4  模式小结  72
3.6  原型模式—克隆对象  73
3.6.1  动机  73
3.6.2  该模式在JDK中的运用  73
3.6.3  范例代码  74
3.6.4  模式小结  76
3.7  单例模式—确保某个类只
存在一个实例  77
3.7.1  动机  77
3.7.2  该模式在JDK中的运用  77
3.7.3  范例代码  77
3.7.4  模式小结  79
3.8  对象池模式—提高性能  80
3.8.1  动机  80
3.8.2  该模式在JDK中的运用  80
3.8.3  范例代码  80
3.8.4  模式小结  82
3.9  惰性初始化模式—按需
初始化对象  83
3.9.1  动机  83
3.9.2  该模式在JDK中的运用  83
3.9.3  范例代码  84
3.9.4  模式小结  86
3.10  依赖注入模式—减少类
之间的依赖关系  86
3.10.1  动机  86
3.10.2  该模式在JDK中的运用  87
3.10.3  范例代码  87
3.10.4  模式小结  90
3.11  小结  91
3.12  习题  92
3.13  参考资料  92
第4章  结构型设计模式  93
4.1  技术准备  93
4.2  适配器模式—让不兼容的
对象变得兼容  93
4.2.1  动机  93
4.2.2  该模式在JDK中的运用  94
4.2.3  范例代码  94
4.2.4  模式小结  97
4.3  桥接模式—独立地解耦对象
和开发对象  97
4.3.1  动机  97
4.3.2  该模式在JDK中的运用  97
4.3.3  范例代码  98
4.3.4  模式小结  100
4.4  组合模式—用相同的方式
处理不同的对象  100
4.4.1  动机  100
4.4.2  该模式在JDK中的运用  100
4.4.3  范例代码  101
4.4.4  模式小结  102
4.5  修饰器模式—扩展对象的
功能  102
4.5.1  动机  102
4.5.2  该模式在JDK中的运用  103
4.5.3  范例代码  103
4.5.4  模式小结  105
4.6  外观模式—简化程序与某一群
对象之间的通信逻辑  105
4.6.1  动机  105
4.6.2  该模式在JDK中的运用  105
4.6.3  范例代码  106
4.6.4  模式小结  107
4.7  过滤器模式—根据条件选出
需要的对象  107
4.7.1  动机  107
4.7.2  该模式在JDK中的运用  107
4.7.3  范例代码  107
4.7.4  模式小结  110
4.8  享元模式—跨应用程序
共享对象  110
4.8.1  动机  110
4.8.2  该模式在JDK中的运用  110
4.8.3  范例代码  110
4.8.4  模式小结  112
4.9  前端控制器模式—统一
处理请求  112
4.9.1  动机  112
4.9.2  该模式在JDK中的运用  113
4.9.3  范例代码  113
4.9.4  模式小结  115
4.10  标记模式—识别实例  115
4.10.1  动机  115
4.10.2  该模式在JDK中的运用  115
4.10.3  范例代码  116
4.10.4  模式小结  118
4.11  模块模式—利用模块的概念
来管理各个组件  118
4.11.1  动机  118
4.11.2  该模式在JDK中的运用  118
4.11.3  范例代码  118
4.11.4  模式小结  120
4.12  代理模式—为对象提供
占位符  120
4.12.1  动机  120
4.12.2  该模式在JDK中的运用  121
4.12.3  范例代码  121
4.12.4  模式小结  122
4.13  孪生模式—在Java语言中
实现多重继承  122
4.13.1  动机  122
4.13.2  范例代码  123
4.13.3  模式小结  124
4.14  小结  124
4.15  习题  125
4.16  参考资料  125
第5章  行为型设计模式  126
5.1  技术准备  126
5.2  缓存模式—降低程序开销  126
5.2.1  动机  127
5.2.2  该模式在JDK中的运用  127
5.2.3  范例代码  127
5.2.4  模式小结  129
5.3  责任链模式—清晰而灵活地
处理事件  129
5.3.1  动机  129
5.3.2  该模式在JDK中的运用  130
5.3.3  范例代码  130
5.3.4  模式小结  131
5.4  命令模式—把信息转化成
相应的动作  132
5.4.1  动机  132
5.4.2  该模式在JDK中的运用  132
5.4.3  范例代码  132
5.4.4  模式小结  133
5.5  解释器模式—赋予上下文
意义  134
5.5.1  动机  134
5.5.2  该模式在JDK中的运用  134
5.5.3  范例代码  134
5.5.4  模式小结  136
5.6  迭代器模式—检查所有
元素  136
5.6.1  动机  136
5.6.2  该模式在JDK中的运用  136
5.6.3  范例代码  136
5.6.4  模式小结  138
5.7  中介者模式—让对象之间
更好地交换信息  138
5.7.1  动机  138
5.7.2  该模式在JDK中的运用  139
5.7.3  范例代码  139
5.7.4  模式小结  140
5.8  备忘录模式—把对象恢复到
应有的状态  140
5.8.1  动机  140
5.8.2  该模式在JDK中的运用  140
5.8.3  范例代码  140
5.8.4  模式小结  142
5.9  空对象模式—避免空指针
异常  143
5.9.1  动机  143
5.9.2  该模式在JDK中的运用  143
5.9.3  范例代码  143
5.9.4  模式小结  144
5.10  观察者模式—让相关各方
都得到通知  145
5.10.1  动机  145
5.10.2  该模式在JDK中的运用  145
5.10.3  范例代码  145
5.10.4  模式小结  146
5.11  管道模式—处理实例阶段  146
5.11.1  动机  147
5.11.2  该模式在JDK中的运用  147
5.11.3  范例代码  147
5.11.4  模式小结  148
5.12  状态模式—变更对象的
内部行为  149
5.12.1  动机  149
5.12.2  该模式在JDK中的运用  149
5.12.3  范例代码  149
5.12.4  模式小结  150
5.13  策略模式—切换对象的
行为  150
5.13.1  动机  151
5.13.2  该模式在JDK中的运用  151
5.13.3  范例代码  151
5.13.4  模式小结  152
5.14  模板模式—制定标准的
处理流程  153
5.14.1  动机  153
5.14.2  该模式在JDK中的运用  153
5.14.3  范例代码  153
5.14.4  模式小结  155
5.15  访问者模式—根据对象的
类型执行代码  155
5.15.1  动机  155
5.15.2  该模式在JDK中的运用  155
5.15.3  范例代码  155
5.15.4  模式小结  157
5.16  小结  158
5.17  习题  158
5.18  参考资料  159
第三部分  其他重要的模式
与反模式
第6章  并发设计模式  163
6.1  技术准备  163
6.2  主动对象模式—解耦方法的
执行时机与触发时机  164
6.2.1  动机  164
6.2.2  范例代码  164
6.2.3  模式小结  167
6.3  异步方法调用模式—让任务
以非阻塞的方式执行  167
6.3.1  动机  167
6.3.2  范例代码  167
6.3.3  模式小结  169
6.4  阻行模式—延迟执行,直到
前一个任务完成  170
6.4.1  动机  171
6.4.2  范例代码  171
6.4.3  模式小结  173
6.5  双重检查锁模式—提供专享
的对象实例  173
6.5.1  动机  173
6.5.2  范例代码  174
6.5.3  模式小结  176
6.6  读写锁模式—实现有目的
的线程阻塞  176
6.6.1  动机  176
6.6.2  范例代码  177
6.6.3  模式小结  178
6.7  生产者–消费者模式—解耦
执行逻辑  180
6.7.1  动机  180
6.7.2  范例代码  180
6.7.3  模式小结  181
6.8  调度器模式—执行孤立
的任务  182
6.8.1  动机  182
6.8.2  范例代码  183
6.8.3  模式小结  187
6.9  线程池模式—有效地利用
线程  187
6.9.1  动机  187
6.9.2  范例代码  187
6.9.3  模式小结  188
6.10  小结  189
6.11  习题  190
6.12  参考资料  190
第7章  常见的反模式  191
7.1  技术准备  192
7.2  什么是反模式,怎样发现
反模式  192
7.2.1  从是否违背开发原则的
角度发现反模式  192
7.2.2  注意那些有可能形成瓶颈
的技术债务  192
7.2.3  不要错误地使用Java平台
的功能  193
7.2.4  选择合适的工具  195
7.2.5  代码坏味反模式小结  196
7.3  认识软件开发中常见的反模式  197
7.3.1  意大利面条式的代码  197
7.3.2  复制粘贴式编程  198
7.3.3  blob  198
7.3.4  熔岩流  199
7.3.5  功能分散  199
7.3.6  船锚  199
7.3.7  软件开发中的反模式小结  200
7.4  软件架构中的反模式  200
7.4.1  金锤  200
7.4.2  频繁更替  200
7.4.3  输入问题  201
7.4.4  雷区探险  201
7.4.5  用意不明  202
7.4.6  幽灵  202
7.4.7  死路  202
7.4.8  软件架构中的反模式小结  203
7.5  小结  203
7.6  参考资料  204
习题参考答案  205
第1章  205
第2章  205
第3章  206
第4章  206
第5章  207
第6章  207
随便看

 

霍普软件下载网电子书栏目提供海量电子书在线免费阅读及下载。

 

Copyright © 2002-2024 101bt.net All Rights Reserved
更新时间:2025/3/28 12:37:09