本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正
书[0名0]: | (正版特价)Java设计模式及实践|232398 |
图书定价: | 79元 |
图书作者: | [印度]卡马尔米特·辛格(K[a0m0a0]lmeet Singh) [荷兰]艾德里安·伊恩库列斯库(Adrian Ianculescu) [罗马尼亚]路西安-保罗·托尔耶(Lucian-Paul Torje) |
出版社: | [1机1]械工业出版社 |
出版日期: | 2019-06-18 00:00:00 |
ISBN号: | 9787111629436 |
开本: | 16开 |
页数: | 218 |
版次: | 1-1 |
内容简介 |
本书向读者展示Java语言中更加智能化的编码实例。书中[0首0]先介绍[mian]向对象编程(OOP)和函数式编程(FP)范式,然后描述常用设计模式的[纟巠]典使用方[0法0],并解释如何利用函数式编程特性改变[纟巠]典的设计模式。读者将[0学0]习混合使用OOP和FP的实现方式,然后[0学0]习响应式编程模型——一种为了编写更[女子]的代码而将OOP和FP结合使用的方[0法0]。之后,本书将介绍从MVC架构向微服务和无服务器架构转变的发展趋势,[z1u1i]后介绍Java[亲斤]版本的功能特性及其实践。通过本书的[0学0]习,读者可以有效地解决开发应用程序过程中的常见问题,能够轻松地应对各种规模项目的扩展和维护。 |
目录 |
译者序 前言 关于作者 关于[0评0]审者 [0第0]1章 从[mian]向对象到函数式编程 1 1.1 Java简介 1 1.2 Java编程范式 2 1.2.1 命令式编程 2 1.2.2 [mian]向对象编程 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 [0第0]2章 创建型模式 18 2.1 单例模式 18 2.1.1 同步锁单例模式 19 2.1.2 拥有[0双0]重校验锁[1机1]制的同步锁单例模式 20 2.1.3 无锁的线程安全单例模式 21 2.1.4 [扌是]前加载和延迟加载 21 2.2 工厂模式 22 2.2.1 简单工厂模式 22 2.2.2 工厂方[0法0]模式 25 2.2.3 抽象工厂模式 27 2.2.4 简单工厂、工厂方[0法0]与抽象工厂模式之间的对比 28 2.3 建造者模式 29 2.3.1 汽车建造者样例 30 2.3.2 简化的建造者模式 32 2.3.3 拥有方[0法0]链的匿[0名0]建造者 32 2.4 原型模式 33 2.5 对象池模式 34 2.6 总结 36 [0第0]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 模板方[0法0]模式 56 3.11 空对象模式 57 3.12 访问者模式 58 3.13 总结 59 [0第0]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 [0第0]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 重[亲斤]实现[mian]向对象编程设计模式 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 模板方[0法0]模式 105 5.4 函数式设计模式 106 5.4.1 MapReduce 106 5.4.2 借贷模式 107 5.4.3 尾调用[0优0]化 108 5.4.4 记忆化 109 5.4.5 执行around方[0法0] 110 5.5 总结 111 [0第0]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 [0第0]7章 响应式设计模式 140 7.1 响应模式 140 7.1.1 请求-响应模式 140 7.1.2 异步通信模式 146 7.1.3 缓存模式 148 7.1.4 扇出与[z1u1i]快响应模式 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 [0第0]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 分层架构[mian]临的挑战 165 8.3 MVC架构 166 8.3.1 MVC架构示例 168 8.3.2 更现代的MVC实现 170 8.3.3 MVC架构的作用 171 8.3.4 MVC架构[mian]临的挑战 171 8.4 [mian]向服务架构 171 8.4.1 [mian]向服务架构示例 172 8.4.2 Web服务 173 8.4.3 SOAP与REST 173 8.4.4 企业服务总线 174 8.4.5 [mian]向服务架构的作用 174 8.4.6 [mian]向服务架构[mian]临的挑战 175 8.5 微服务架构 176 8.5.1 微服务架构示例 176 8.5.2 服务间的通信 178 8.5.3 微服务架构的作用 178 8.5.4 微服务架构[mian]临的挑战 178 8.6 无服务器架构 179 8.6.1 无服务器架构示例 179 8.6.2 [0独0]立于基础设施规划 184 8.6.3 无服务器架构的作用 184 8.6.4 无服务器架构[mian]临的挑战 184 8.7 总结 185 [0第0]9章 Java中的[z1u1i]佳实践 186 9.1 Java简[0史0] 186 9.1.1 Java 5的特性 187 9.1.2 Java 8的特性 188 9.1.3 目前官方支持的Java版本 188 9.2 Java 9的[z1u1i]佳实践和[亲斤]特性 189 9.2.1 Java平台模块化系统 189 9.2.2 JShell 192 9.2.3 接口中的私有方[0法0] 194 9.2.4 流的增强功能 195 9.2.5 创建不可变集合 196 9.2.6 在数组中添加方[0法0] 197 9.2.7 Optional类的增强功能 198 9.2.8 [亲斤]的HTTP客户端 199 9.2.9 Java 9增加的其他功能 200 9.3 Java 10的[z1u1i]佳实践和[亲斤]特性 201 9.3.1 局部变量类型推断 201 9.3.2 集合的copyOf方[0法0] 203 9.3.3 并行垃圾回收[1机1]制 204 9.3.4 Java 10增加的其他功能 205 9.4 总结 205 |
编辑推荐 |
精选Java实用设计模式,展示Java语言中更加智能化的编码实例 既涵盖[mian]向对象编程、函数式编程和响应式编程模式及使用方[0法0],又介绍从MVC架构向微服务和无服务器架构转变的发展趋势,以及Java[亲斤]版本的特性及其实践 |