由于此商品库存有限,请在下单后15分钟之内支付完成,手慢无哦!
100%刮中券,最高50元无敌券,券有效期7天
活动自2017年6月2日上线,敬请关注云钻刮券活动规则更新。
如活动受政府机关指令需要停止举办的,或活动遭受严重网络攻击需暂停举办的,或者系统故障导致的其它意外问题,苏宁无需为此承担赔偿或者进行补偿。
正版新书]JAVA应用架构设计 :模块化模式与OSGi克内恩席尔德978
¥ ×1
本书赞誉
译者序
序1
序2
前言
第一部分 模块化的理由
第1章 模块定义 / 2
1.1 定义模块 / 2
1.1.1 可部署 / 3
1.1.2 可管理 / 3
1.1.3 可测试 / 3
1.1.4 原生可重用 / 3
1.1.5 可组合 / 4
1.1.6 无状态 / 4
1.2 软件模块的简洁定义 / 4
1.3 结论 / 4
第2章 模块化的两个方面 / 5
2.1 运行时模型 / 5
2.2 开发模型 / 5
2.2.1 编程模型 / 6
2.2.2 设计范式 / 6
2.3 模块化现状 / 8
2.4 结论 / 10
第3章 架构与模块化 / 11
3.1 定义架构 / 11
3.2 关于软件架构的一个故事 / 12
3.2.1 象牙塔 / 12
3.2.2 乌龟和塔 / 13
3.3 架构的目标 / 15
3.3.1 悖论 / 15
3.3.2 消除架构 / 16
3.4 模块化:被忽视的部分 / 17
3.5 回答我们的问题 / 23
3.6 结论 / 23
3.7 参考文献 / 24
第4章 征服复杂性 / 25
4.1 企业级复杂性 / 25
4.2 技术债 / 26
4.3 设计腐化 / 27
4.3.1 干扰可维护性 / 27
4.3.2 阻止可扩展性 / 28
4.3.3 抑制可重用性 / 28
4.3.4 限制可测试性 / 28
4.3.5 妨碍集成 / 28
4.3.6 阻碍理解 / 29
4.4 循环依赖 / 29
4.4.1 循环类型 / 29
4.4.2 悄然引入的循环 / 32
4.4.3 管理循环 / 33
4.4.4 循环总是不好的吗 / 33
4.5 结合点、模块和SOLID / 34
4.6 管理复杂性 / 35
4.7 模块化的益处 / 37
4.8 结论 / 37
4.9 参考文献 / 38
第5章 实现重用 / 39
5.1 可用/重用悖论 / 39
5.2 关于重用的免责声明 / 40
5.2.1 粒度 / 40
5.2.2 重量级 / 41
5.3 重用还是可用 / 42
5.4 模块化权衡 / 42
5.5 模块化设计 / 43
5.6 结论 / 44
5.7 参考文献 / 45
第6章 模块化与SOA / 46
6.1 重新审视“自上而下” / 46
6.2 粒度——架构师的强大对手 / 48
6.2.1 现实世界的一个例子 / 48
6.2.2 提升一个等级 / 49
6.2.3 另一个维度 / 50
6.2.4 全景图 / 51
6.2.5 服务样例 / 52
6.3 另一个视图 / 54
6.4 结论 / 55
第7章 参考实现 / 56
7.1 为什么不用OSGi / 56
7.2 这个练习的背景:构建系统 / 57
7.3 初始版本 / 57
7.4第一次重构 / 59
7.5第二次重构 / 61
7.6第三次重构 / 63
7.7第四次重构 / 66
7.7.1 关于OSGi的好处 / 67
7.7.2 小结并准备下一次重构 / 68
7.8第五次重构 / 68
7.9第六次重构 / 69
7.10第七次重构 / 72
7.11 事后剖析 / 72
7.11.1 关于模块测试 / 74
7.11.2 关于管理模块依赖 / 74
7.11.3 关于模块重用 / 76
7.11.4 关于构建 / 77
7.11.5 关于面向对象 / 77
7.12 结论 / 78
7.13 参考文献 / 78
第二部分 模 式
第8章 基本模式 / 81
8.1 管理关系 / 81
8.1.1 表述 / 81
8.1.2 描述 / 81
8.1.3 多种实现 / 82
8.1.4 影响 / 85
8.1.5 样例 / 86
8.1.6 小结 / 88
8.2 模块重用 / 89
8.2.1 表述 / 89
8.2.2 描述 / 89
8.2.3 多种实现 / 91
8.2.4 效果 / 92
8.2.5 样例 / 93
8.2.6 小结 / 99
8.3 模块内聚 / 99
8.3.1 表述 / 99
8.3.2 描述 / 100
8.3.3 多种实现 / 100
8.3.4 效果 / 101
8.3.5 样例 / 101
8.3.6 小结 / 104
第9章 依赖模式 / 105
9.1 非循环关系 / 105
9.1.1 表述 / 105
9.1.2 描述 / 105
9.1.3 多种实现 / 106
9.1.4 效果 / 107
9.1.5 样例 / 107
9.1.6 小结 / 113
9.2 等级化模块 / 113
9.2.1 表述 / 113
9.2.2 描述 / 113
9.2.3 多种实现 / 115
9.2.4 效果 / 115
9.2.5 样例 / 116
9.2.6 小结 / 117
9.3 物理分层 / 118
9.3.1 表述 / 118
9.3.2 描述 / 118
9.3.3 多种实现 / 119
9.3.4 效果 / 119
9.3.5 样例 / 120
9.3.6 小结 / 123
9.4 容器独立 / 124
9.4.1 表述 / 124
9.4.2 描述 / 124
9.4.3 多种实现 / 125
9.4.4 效果 / 125
9.4.5 样例 / 126
9.4.6 小结 / 129
9.5 独立部署 / 129
9.5.1 表述 / 129
9.5.2 描述 / 130
9.5.3 多种实现 / 130
9.5.4 效果 / 131
9.5.5 样例 / 132
9.5.6 小结 / 135
9.6 参考文献 / 136
第10章 可用性模式 / 137
10.1 发布接口 / 137
10.1.1 表述 / 137
10.1.2 描述 / 137
10.1.3 多种实现 / 138
10.1.4 效果 / 140
10.1.5 样例 / 141
10.1.6 小结 / 146
10.2 外部配置 / 147
10.2.1 表述 / 147
10.2.2 描述 / 147
10.2.3 多种实现 / 147
10.2.4 效果 / 148
10.2.5 样例 / 149
10.2.6 小结 / 151
10.3 默认实现 / 151
10.3.1 表述 / 151
10.3.2 描述 / 151
10.3.3 多种实现 / 151
10.3.4 效果 / 153
10.3.5 样例 / 153
10.3.6 小结 / 156
10.4 模块门面 / 156
10.4.1 表述 / 156
10.4.2 描述 / 156
10.4.3 多种实现 / 156
10.4.4 效果 / 158
10.4.5 样例 / 158
10.4.6 小结 / 162
第11章 扩展性模式 / 163
11.1 抽象化模块 / 163
11.1.1 表述 / 163
11.1.2 描述 / 163
11.1.3 多种实现 / 164
11.1.4 效果 / 165
11.1.5 样例 / 165
11.1.6 小结 / 168
11.2 实现工厂 / 168
11.2.1 表述 / 168
11.2.2 描述 / 169
11.2.3 多种实现 / 169
11.2.4 效果 / 171
11.2.5 样例 / 171
11.2.6 小结 / 175
11.3 分离抽象 / 175
11.3.1 表述 / 175
11.3.2 描述 / 175
11.3.3 多种实现 / 175
11.3.4 效果 / 178
11.3.5 样例 / 178
11.3.6 小结 / 180
11.4 参考文献 / 181
第12章 通用模式 / 182
12.1 就近异常 / 182
12.1.1 表述 / 182
12.1.2 描述 / 182
12.1.3 多种实现 / 182
12.1.4 效果 / 183
12.1.5 样例 / 184
12.1.6 小结 / 187
12.2 等级化构建 / 187
12.2.1 表述 / 187
12.2.2 描述 / 187
12.2.3 多种实现 / 189
12.2.4 效果 / 190
12.2.5 样例 / 191
12.2.6 小结 / 195
12.3 测试模块 / 195
12.3.1 表述 / 195
12.3.2 描述 / 195
12.3.3 多种实现 / 196
12.3.4 效果 / 197
12.3.5 样例 / 198
12.3.6 小结 / 201
第三部分 模块化架构模式与OSGi
第13章 OSGi简介 / 204
13.1 一点历史 / 204
13.2 OSGi所能带来的收益 / 204
13.2.1 模块化开发 / 205
13.2.2 管理依赖 / 205
13.2.3 模块平台 / 205
13.2.4 版本化的bundle / 206
13.2.5 动态(重)部署 / 206
13.2.6 环境相关的控制 / 206
13.3 深入理解OSGi / 206
13.4 OSGi bundle / 207
13.4.1 bundle状态 / 207
13.4.2 OSGi Service / 208
13.5 OSGi运行时管理 / 209
13.6 重新查看模块化的两个方面 / 209
13.7 OSGi与模式 / 209
13.7.1 管理依赖 / 210
13.7.2 动态性 / 210
13.7.3 Blueprint规范 / 211
第14章 贷款样例与OSGi / 212
14.1 起步 / 212
14.2 清单文件 / 214
14.3 Service / 215
14.3.1 Blueprint服务 / 215
14.3.2 贷款样例配置 / 215
14.3.3 OSGi Service声明 / 218
14.4 安装与执行 / 219
14.5 结论 / 220
第15章 OSGi与Scala / 221
15.1 起步 / 221
15.2 Scala代码 / 221
15.3 Scala bean配置 / 224
15.4 Scala Service配置 / 224
15.5 构建Scala模块 / 225
15.6 安装与执行 / 225
15.7 结论 / 226
第16章 OSGi与Groovy / 227
16.1 起步 / 227
16.2 Groovy代码 / 227
16.3 Groovy bean配置 / 230
16.4 Groovy Service配置 / 230
16.5 构建Groovy模块 / 230
16.6 安装与执行 / 231
16.7 结论 / 232
第17章 OSGi的未来 / 233
17.1 将OSGi作为推动者 / 233
17.2 颠覆性 / 234
17.3 生态系统的威力 / 236
17.3.1 生态系统与模块化的两个方面 / 236
17.3.2 基于组件的开发(CBD)不是已经成功了吗 / 236
17.4 生态系统 / 237
17.5 结论 / 238
附录A 类设计的SOLID原则 / 239
KirkKnoernschild资历软件开发专家,系统架构师,软件开发项目经理,敏捷教练,软件开发咨询师。精通Java、OSGi、敏捷方法、系统架构等,拥有丰富的软件开发经验,担任过软件开发团队中的多个职位。同时他还是一位积极的开源社区贡献者,发表了大量经典文章,广受读者好评。曾受邀参与靠前大型软件开发会议并发表演讲。著有《JavaDesign:Objects,UML,andProcess》,合著有《NoFluffJustStuff2006Anthology》。他曾培训和指导过成千上万的软件开发人员,讨论的主题涵盖Java/J2EE、建模、软件架构与设计、基于组件的开发、面向服务架构以及软件过程等。 张卫滨 资历软件开发专家,精通Java语言,对Java开源框架有较深入的研究。目前主要从事企业级软件的开发,拥有丰富的软件开发经验。熟悉Spring、Hibernate以及Eclipse等开源产品,对Web前端技术有一定的研究,熟悉相关技术以及dojo、jQuery、ExtJS等框架。技术社区的积极实践者,曾参与技术新闻和文章的翻译工作,已出版译著有《Spring实战(第3版)》。
克内恩席尔德编著的《Java应用架构设计(模块化模式与OSGi)》为将模块化设计思想引入软件开发中奠定了基础。在介绍18个有助于实现模块化软件架构的模式之前,首先展示了模块化为什么是软件设计“兵工厂”中的重要武器。书中结合具体样例来阐述概念,理论联系实际,具有很好的实践意义。只有现在设计模块化的软件,未来在面临平台和架构时,我们才能得心应手——这也正是UncleBob手舞足蹈的原因。
亲,大宗购物请点击企业用户渠道>小苏的服务会更贴心!
亲,很抱歉,您购买的宝贝销售异常火爆让小苏措手不及,请稍后再试~
非常抱歉,您前期未参加预订活动,
无法支付尾款哦!
抱歉,您暂无任性付资格