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

请输入您要查询的图书:

 

书名 Java应用架构设计(模块化模式与OSGi)/Java核心技术系列
分类
作者 (美)克内恩席尔德
出版社 机械工业出版社
下载
简介
目录

本书赞誉

译者序

序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

内容推荐

《Java应用架构设计(模块化模式与OSGi)》由全球资深专家撰写,世界级软件开发大师Robert C. Martin与Peter Kriens作序推荐。书中揭示了模块化的重要性,如何实现模块化,以及如何使用OSGi实现模块化架构。

克内恩席尔德编著的《Java应用架构设计(模块化模式与OSGi)》分为三部分。第一部分(第1-7章)描述了需要模块化的理由。在这里,你将会看到模块化在设计软件中所扮演的重要角色,与此同时还会学习到为什么需要设计模块化的软件。第二部分(第8-12章)介绍了18个模式,这些模式会帮助你设计更为模块化的软件。第三部分(第13-17章)引入了OSGi,然后阐述了如何使用本书中的模式来设计软件系统并充分发挥模块化平台的优势,并使用代码样例论证了我们的观点。

编辑推荐

克内恩席尔德编著的《Java应用架构设计(模块化模式与OSGi)》为将模块化设计思想引入软件开发中奠定了基础。在介绍18个有助于实现模块化软件架构的模式之前,首先展示了模块化为什么是软件设计“兵工厂”中的重要武器。书中结合具体样例来阐述概念,理论联系实际,具有很好的实践意义。只有现在设计模块化的软件,未来在面临平台和架构时,我们才能得心应手——这也正是Uncle Bob手舞足蹈的原因。

随便看

 

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

 

Copyright © 2002-2024 101bt.net All Rights Reserved
更新时间:2025/4/27 1:47:15