[套装书]Java设计模式及实践+设计模式:可复用面向对象软件的基础(典藏版)(2册)

作者
卡马尔米特·辛格 艾德里安·伊恩库列斯库 路西安-保罗·托尔耶 埃里克·伽玛 理查德·赫尔姆 拉尔夫·约翰逊 约翰·威利斯迪斯
丛书名
Java核心技术系列
出版社
机械工业出版社
ISBN
9782109262083
简要
简介
内容简介书籍计算机书籍 ---------------------------8060489 - Java设计模式及实践--------------------------- 本书向读者展示Java语言中更加智能化的编码实例。书中首先介绍面向对象编程(OOP)和函数式编程(FP)范式,然后描述常用设计模式的经典使用方法,并解释如何利用函数式编程特性改变经典的设计模式。读者将学习混合使用OOP和FP的实现方式,然后学习响应式编程模型——一种为了编写更好的代码而将OOP和FP结合使用的方法。之后,本书将介绍从MVC架构向微服务和无服务器架构转变的发展趋势,最后介绍Java新版本的功能特性及其实践。通过本书的学习,读者可以有效地解决开发应用程序过程中的常见问题,能够轻松地应对各种规模项目的扩展和维护。 ---------------------------8059658 - 设计模式:可复用面向对象软件的基础(典藏版)--------------------------- 本书结合设计实例从面向对象的设计中精选出23个设计模式, 总结了面向对象设计中最有价值的经验, 并且用简洁可复用的形式表达出来。本书分类描述了一组设计良好、 表达清楚的软件设计模式, 这些模式在实用环境下特别有用。 本书适合大学计算机专业的学生、研究生及相关人员参考。
目录
[套装书具体书目]
8059658 - 设计模式:可复用面向对象软件的基础(典藏版) - 9787111618331 - 机械工业出版社 - 定价 79
8060489 - Java设计模式及实践 - 9787111629436 - 机械工业出版社 - 定价 79



---------------------------8060489 - Java设计模式及实践---------------------------


译者序
前言
关于作者
关于评审者
第1章 从面向对象到函数式编程 1
1.1 Java简介 1
1.2 Java编程范式 2
1.2.1 命令式编程 2
1.2.2 面向对象编程 3
1.2.3 声明式编程 6
1.2.4 函数式编程 6
1.3 流以及集合的使用 7
1.4 统一建模语言简介 8
1.5 设计模式和原则 11
1.5.1 单一职责原则 12
1.5.2 开闭原则 13
1.5.3 里氏替换原则 13
1.5.4 接口隔离原则 14
1.5.5 依赖倒置原则 16
1.6 总结 16
第2章 创建型模式 18
2.1 单例模式 18
2.1.1 同步锁单例模式 19
2.1.2 拥有双重校验锁机制的同步锁单例模式 20
2.1.3 无锁的线程安全单例模式 21
2.1.4 提前加载和延迟加载 21
2.2 工厂模式 22
2.2.1 简单工厂模式 22
2.2.2 工厂方法模式 25
2.2.3 抽象工厂模式 27
2.2.4 简单工厂、工厂方法与抽象工厂模式之间的对比 28
2.3 建造者模式 29
2.3.1 汽车建造者样例 30
2.3.2 简化的建造者模式 32
2.3.3 拥有方法链的匿名建造者 32
2.4 原型模式 33
2.5 对象池模式 34
2.6 总结 36
第3章 行为型模式 37
3.1 责任链模式 38
3.2 命令模式 40
3.3 解释器模式 43
3.4 迭代器模式 47
3.5 观察者模式 50
3.6 中介者模式 51
3.7 备忘录模式 53
3.8 状态模式 55
3.9 策略模式 55
3.10 模板方法模式 56
3.11 空对象模式 57
3.12 访问者模式 58
3.13 总结 59
第4章 结构型模式 60
4.1 适配器模式 61
4.2 代理模式 66
4.3 装饰器模式 70
4.4 桥接模式 73
4.5 组合模式 76
4.6 外观模式 79
4.7 享元模式 83
4.8 总结 88
第5章 函数式编程 89
5.1 函数式编程简介 89
5.1.1 lambda表达式 91
5.1.2 纯函数 92
5.1.3 引用透明性 92
5.1.4 初等函数 93
5.1.5 高阶函数 93
5.1.6 组合 93
5.1.7 柯里化 93
5.1.8 闭包 94
5.1.9 不可变性 95
5.1.10 函子 95
5.1.11 单子 96
5.2 Java中的函数式编程 97
5.2.1 lambda表达式 97
5.2.2 流 98
5.3 重新实现面向对象编程设计模式 102
5.3.1 单例模式 102
5.3.2 建造者模式 102
5.3.3 适配器模式 103
5.3.4 装饰器模式 103
5.3.5 责任链模式 103
5.3.6 命令模式 104
5.3.7 解释器模式 104
5.3.8 迭代器模式 104
5.3.9 观察者模式 105
5.3.10 策略模式 105
5.3.11 模板方法模式 105
5.4 函数式设计模式 106
5.4.1 MapReduce 106
5.4.2 借贷模式 107
5.4.3 尾调用优化 108
5.4.4 记忆化 109
5.4.5 执行around方法 110
5.5 总结 111
第6章 响应式编程 112
6.1 什么是响应式编程 113
6.2 RxJava简介 114
6.3 安装RxJava 115
6.3.1 Maven下的安装 115
6.3.2 JShell下的安装 116
6.4 Observable、Flowable、Observer和Subscription的含义 116
6.5 创建Observable 118
6.5.1 create操作符 118
6.5.2 defer操作符 119
6.5.3 empty操作符 120
6.5.4 from操作符 120
6.5.5 interval操作符 120
6.5.6 timer操作符 121
6.5.7 range操作符 121
6.5.8 repeat操作符 121
6.6 转换Observable 122
6.6.1 subscribe操作符 122
6.6.2 buffer操作符 122
6.6.3 flatMap操作符 122
6.6.4 groupBy操作符 124
6.6.5 map操作符 124
6.6.6 scan操作符 125
6.6.7 window操作符 125
6.7 过滤Observable 125
6.7.1 debounce操作符 125
6.7.2 distinct操作符 126
6.7.3 elementAt操作符 126
6.7.4 filter操作符 127
6.7.5 first/last操作符 127
6.7.6 sample操作符 128
6.7.7 skip操作符 128
6.7.8 take操作符 128
6.8 组合Observable 128
6.8.1 combine操作符 129
6.8.2 join操作符 129
6.8.3 merge操作符 130
6.8.4 zip操作符 131
6.9 异常处理 131
6.9.1 catch操作符 131
6.9.2 do操作符 132
6.9.3 using操作符 133
6.9.4 retry操作符 133
6.10 线程调度器 134
6.11 Subject 135
6.12 示例项目 136
6.13 总结 139
第7章 响应式设计模式 140
7.1 响应模式 140
7.1.1 请求-响应模式 140
7.1.2 异步通信模式 146
7.1.3 缓存模式 148
7.1.4 扇出与最快响应模式 149
7.1.5 快速失败模式 150
7.2 弹性模式 150
7.2.1 断路器模式 150
7.2.2 故障处理模式 151
7.2.3 有限队列模式 151
7.2.4 监控模式 152
7.2.5 舱壁模式 152
7.3 柔性模式 152
7.3.1 单一职责模式 153
7.3.2 无状态服务模式 154
7.3.3 自动伸缩模式 156
7.3.4 自包含模式 156
7.4 消息驱动通信模式 157
7.4.1 事件驱动通信模式 157
7.4.2 出版者-订阅者模式 157
7.4.3 幂等性模式 158
7.5 总结 158
第8章 应用架构的发展趋势 159
8.1 什么是应用架构 159
8.2 分层架构 160
8.2.1 分层架构示例 162
8.2.2 tier和layer的区别 165
8.2.3 分层架构的作用 165
8.2.4 分层架构面临的挑战 165
8.3 MVC架构 166
8.3.1 MVC架构示例 168
8.3.2 更现代的MVC实现 170
8.3.3 MVC架构的作用 171
8.3.4 MVC架构面临的挑战 171
8.4 面向服务架构 171
8.4.1 面向服务架构示例 172
8.4.2 Web服务 173
8.4.3 SOAP与REST 173
8.4.4 企业服务总线 174
8.4.5 面向服务架构的作用 174
8.4.6 面向服务架构面临的挑战 175
8.5 微服务架构 176
8.5.1 微服务架构示例 176
8.5.2 服务间的通信 178
8.5.3 微服务架构的作用 178
8.5.4 微服务架构面临的挑战 178
8.6 无服务器架构 179
8.6.1 无服务器架构示例 179
8.6.2 独立于基础设施规划 184
8.6.3 无服务器架构的作用 184
8.6.4 无服务器架构面临的挑战 184
8.7 总结 185
第9章 Java中的最佳实践 186
9.1 Java简史 186
9.1.1 Java 5的特性 187
9.1.2 Java 8的特性 188
9.1.3 目前官方支持的Java版本 188
9.2 Java 9的最佳实践和新特性 189
9.2.1 Java平台模块化系统 189
9.2.2 JShell 192
9.2.3 接口中的私有方法 194
9.2.4 流的增强功能 195
9.2.5 创建不可变集合 196
9.2.6 在数组中添加方法 197
9.2.7 Optional类的增强功能 198
9.2.8 新的HTTP客户端 199
9.2.9 Java 9增加的其他功能 200
9.3 Java 10的最佳实践和新特性 201
9.3.1 局部变量类型推断 201
9.3.2 集合的copyOf方法 203
9.3.3 并行垃圾回收机制 204
9.3.4 Java 10增加的其他功能 205
9.4 总结 205



---------------------------8059658 - 设计模式:可复用面向对象软件的基础(典藏版)---------------------------


出版者的话
赞誉
序言
前言
读者指南
第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

相关资源(PDF,TXT,电子书)

村网 国学鼎 数字追踪 车牌号查询 生活分享
桂ICP备20004708号-2