您好,欢迎来到聚文网。 登录 免费注册
JAVA应用架构设计

JAVA应用架构设计

  • 装帧: 平装
  • 出版社: 机械工业出版社
  • 作者: (美)克内恩席尔德 著作 张卫滨 译者
  • 出版日期: 2013-09-01
  • 商品条码: 9787111437680
  • 版次: 1
  • 开本: 其他
  • 页数: 251
  • 出版年份: 2013
定价:¥69 销售价:登录后查看价格  ¥{{selectedSku?.salePrice}} 
库存: {{selectedSku?.stock}} 库存充足
{{item.title}}:
{{its.name}}
精选
编辑推荐
    优选资历Java技术专家的力作,系统、全面地讲解如何将模块化设计思想引入开发中,涵盖18个有助于实现模块化软件架构的模式
内容简介
本书由优选资历专家撰写,重量软件开发大师Robert C. Martin与Peter Kriens作序推荐。书中揭示了模块化的重要性,如何实现模块化,以及如何使用OSGi实现模块化架构。
    本书分为三部分。靠前部分(靠前~7章)描述了需要模块化的理由。在这里,你将会看到模块化在设计软件中所扮演的重要角色,与此同时还会学习到为什么需要设计模块化的软件。第二部分(第8~12章)介绍了18个模式,这些模式会帮助你设计更为模块化的软件。第三部分(靠前3~17章)引入了OSGi,然后阐述了如何使用本书中的模式来设计软件系统并充分发挥模块化平台的优势,并使用代码样例论证了我们的观点。
作者简介
    KirkKnoernschild资历软件开发专家,系统架构师,软件开发项目经理,敏捷教练,软件开发咨询师。精通Java、OSGi、敏捷方法、系统架构等,拥有丰富的软件开发经验,担任过软件开发团队中的多个职位。同时他还是一位积极的开源社区贡献者,发表了大量经典文章,广受读者好评。曾受邀参与靠前大型软件开发会议并发表演讲。著有《JavaDesign:Objects,UML,andProcess》,合著有《NoFluffJustStuff2006Anthology》。他曾培训和指导过成千上万的软件开发人员,讨论的主题涵盖Java/J2EE、建模、软件架构与设计、基于组件的开发、面向服务架构以及软件过程等。    张卫滨  资历软件开发专家,精通Java语言,对Java开源框架有较深入的研究。目前主要从事企业级软件的开发,拥有丰富的软件开发经验。熟悉Spring、Hibernate以及Eclipse等开源产品,对Web前端技术有一定的研究,熟悉相关技术以及dojo、jQuery、ExtJS等框架。技术社区的积极实践者,曾参与技术新闻和文章的翻译工作,已出版译著有《Spring实战(第3版)》。
目录
本书赞誉
译者序
序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

蜀ICP备2024047804号

Copyright 版权所有 © jvwen.com 聚文网