图书介绍

Java开放源码编程PDF|Epub|txt|kindle电子书版本下载

Java开放源码编程
  • (美)Joe Walnes等著;甄山,甄镭译 著
  • 出版社: 北京:电子工业出版社
  • ISBN:712100514X
  • 出版时间:2005
  • 标注页数:334页
  • 文件大小:27MB
  • 文件页数:353页
  • 主题词:JAVA语言-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

Java开放源码编程PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1部分 介绍1

第1章 本书概述2

1.1 使用开放源码技术2

1.2 了解设计和开发理论3

1.2.1 先测试3

1.2.2 少即多3

1.3 考察PetSoar项目4

1.4 抓住基础4

1.2.3 总是问傻问题4

小结5

第2章 应用概况6

2.1 另一个宠物商店6

2.2 了解可维护性的重要性7

2.3 了解PetSoar的需求7

2.4 检查结构和技术8

2.4.1 查看结构8

2.4.2 查看实用库9

2.4.4 使用Web前端10

2.4.3 使用存留和搜索10

2.5 测式11

小结11

第2部分 建立开放源码工具箱13

第3章 用JUnit进行单元测试14

3.1 测试的类型14

3.2 使用JUnit15

3.2.1 JUnit的特征15

3.2.2 写一个单元测试15

3.2.3 运行一个单元测试17

3.2.4 运行多个测试18

3.2.5 你需要知道JUnit的一切21

小结28

第4章 用Mocks测试对象的交互作用30

4.1 测试对象的交互作用30

4.1.1 考察测试状态中的一些易犯错误30

4.1.2 探索替换物:测试交互作用31

4.2 使用模拟对象32

4.2.1 实例场景32

4.2.2 了解模拟对象的角色34

4.2.3 了解模拟对象库35

4.2.4 使用动态模拟35

小结39

第5章 用Hibernate存储对象40

5.1 了解持久化的复杂性40

5.2 用Hibernate 2持久化对象41

5.2.1 创建持久类41

5.2.2 映射类到数据库中43

5.2.3 配置Hibernate45

5.2.4 获得一个会话47

5.2.5 在数据库中存储对象49

5.2.6 从数据库中检索对象51

5.2.7 查询对象51

5.2.8 持久化对象间的联系53

5.3 持久化层次结构对象58

5.4 了解Hibernate工具箱60

5.5 Hibernate同其他竞争技术的比较60

5.5.1 Hibernate与EJB60

5.5.2 Hibernate与JDO61

小结62

5.5.3 Hibernate与DAO框架62

第6章 使用WebWork实现MVC模式63

6.1 了解模型视图控制器63

6.1.1 检查模型层63

6.1.2 检查视图层64

6.1.3 检查控制器层64

6.1.4 把全部层联系在一起64

6.1.5 考证使用MVC的理由65

6.2.2 考察WebWork66

6.2 了解MVC、WebWork和XWork66

6.2.1 考察XWork66

6.3 进一步了解活动68

6.3.1 一个简单的XWork实例68

6.3.2 配置XWork69

6.3.3 构造活动(活动组成)69

6.3.4 从XWork中调用一个活动71

6.3.5 使用参数和ActionContext72

6.4.1 了解XWork结果和活动链73

6.4 应用物理学中的牛顿第三定律73

6.4.2 考察WebWork结果和Servlet环境74

6.4.3 配置WebWork75

6.4.4 了解调度的角色76

6.4.5 考察JSP和Velocity中的视图实例77

6.4.6 基于组件的Web开发80

6.5 表达你自己84

6.5.1 使用基础表达式85

6.5.2 使用高级表达式86

6.5.3 了解ValueStack87

6.6 考察类型转换89

6.6.1 深入研究一个日期实例89

6.6.2 指定默认转换规则90

6.6.3 指定新的转换规则90

6.7 采用截取器分离事务91

6.7.1 配置截取器栈91

6.7.2 使用记录截取器92

6.8.1 考察一个没有使用XWork验证框架的实例93

6.8 Validation——一个强大的截取器93

6.7.3 构建自己的截取器93

6.8.2 考察一个采用XWork验证框架的实例94

6.8.3 使用内置的和用户自定义的验证95

6.8.4 使用验证表达式97

小结97

第7章 用SiteMesh简化布局98

7.1 识别布局的问题98

7.2.1 装饰器设计模式102

7.2 使用面向对象的解决方案102

7.2.2 组合设计模式104

7.2.3 结合模式105

7.3 用SiteMesh实现解决方案106

7.3.1 SiteMesh的基本原理106

7.3.2 创建一个装饰器106

7.3.3 组成网页109

7.3.4 考察SiteMesh112

7.4.1 将装饰器分组115

7.4.2 不要惧怕引用115

7.4 使用技巧115

7.4.3 CSS是你的朋友116

7.4.4 最小化HTML116

7.4.5 分散关注点116

小结117

第8章 用Lucene添加搜索能力118

8.1 了解搜索的复杂性118

8.2.2 索引一个文件119

8.2.1 了解Lucene的元素119

8.2 Lucene简介119

8.2.3 搜索文件122

8.2.4 重新索引和删除一个已索引的文档124

8.2.5 使用高级搜索124

8.2.6 定制标志的进程125

小结126

第9章 用XDoclet生成配置文件127

9.1 XDoclet简介127

9.2 用XDoclet了解面向属性编程127

9.2.1 了解属性的语法129

9.2.2 运行XDoclet130

9.2.3 用XDoclet应用高级的Hibernate或映射133

9.2.4 使用XDoclet生成更复杂的工件135

9.2.5 了解XDoclet任务和子任务138

9.2.6 有效地使用XDoclet139

小结141

第10章 交流与工具142

10.1 考察PetSoar开发142

10.2.2 使用源码交流144

10.2.1 用一切可能的方法交流144

10.2 管理不完善的交流144

10.2.3 使用交流作为学习的工具146

10.3 考察工具箱146

10.3.1 源代码配置管理——CVS146

10.3.2 知识管理——WiKi147

10.3.3 邮件目录——Majordomo147

10.3.4 实时讨论——IRC和即时消息147

10.3.5 IDEIDEA和Eclipse147

10.4 使用连续集成148

10.3.6 问题追踪和任务管理——JIRA148

小结149

10.5 把工具连接在一起149

第11章 省时工具151

11.1 了解实用组件151

11.2 了解OSCache152

11.2.1 介绍SampleNewscom152

11.2.2 使用LOOP测试152

11.2.3 考察OSCache标识符库154

11.2.4 了解OSCache概念155

11.2.5 缓存时间实例156

11.2.6 查看高级的OSCache特征157

11.3 了解Commons Lang157

11.3.1 考察最有用的类158

11.3.2 使用Builder类158

11.4 了解Commons Collections161

11.5.1 考察Commons Logging的优点162

11.5.2 一个简单的实例162

11.5 了解Commons Logging162

11.6 了解Commons Digester163

11.6.1 考察一个Digester实例164

11.6.2 了解Digester规则166

小结167

第3部分 开发应用169

第12章 建立开发环境170

12.1 在IDE内工作170

12.1.1 问题:IDE不是自动化的171

12.2.1 问题:Ant不是万灵药172

12.1.2 解决办法:自动构建工具172

12.2 将Ant用于你全部的构建需要172

12.2.2 解决办法:使用有意义的方法173

12.3 使用杂交处理方法173

12.4 组织你的项目174

12.4.1 通过类型组织文件结构175

12.4.2 通过部署组织文件结构176

12.4.3 选择一个结构177

12.4.4 PetSoar怎样177

12.5.1 了解测试类型178

12.5 管理单元测试178

12.5.2 考察测试小组、JUnit和批量测试179

12.6 使用版本控制180

12.7 部署PetSoar180

小结182

第13章 了解测试驱动开发183

13.1 为什么先测试183

13.1.1 先测试与后测试184

13.1.2 锁定需求185

13.2.2 从不跳过失败的测试186

13.2 了解测试技术186

13.2.1 将单元测试与代码放在同一程序包中186

13.2.3 使用模拟对象孤立无法测试部分187

13.2.4 何时使用接口和类187

13.2.5 保持简洁187

13.2.6 自顶向下工作188

13.2.7 使用许多小的对象188

13.2.8 保证测试组快速运行188

13.3.1 使用TDD的实例场景189

13.2.9 避免静态和单件189

13.3 测试TDD循环189

13.3.2 实例场景重访191

13.3.3 加强功能192

小结194

第14章 管理生命周期和组件依赖195

14.1 了解组件和服务195

14.2 处理依赖195

14.2.1 使用直接实例化195

14.2.2 使用工厂196

14.2.3 使用注册197

14.2.4 使用容器197

14.3 了解组件生命周期198

14.4 了解反转控制198

14.4.1 考察优点199

14.4.2 考察缺点199

14.5 了解分离关注点(Separation of Concerns)200

14.6 使用容器来定义范围200

14.7.1 配置容器201

14.7 使用XWork的容器201

14.7.2 了解容器是如何工作的202

14.8 测试XWork组件203

小结205

第15章 定义域模型206

15.1 考虑域模型的优势206

15.2 处理层206

15.2.1 层驱动与特性驱动方法的比较207

15.2.2 选择自底向上、自顶向下、中间分离208

15.3 确定当前的目标209

15.4 向店中添加一个宠物209

15.4.1 使用Hibernate实现PersistenceManager212

15.4.2 我们的进展220

15.5 检索宠物220

15.5.1 检索一个单一的宠物223

15.5.2 我们的进展226

15.6 持续分类目录227

15.6.2 实现CategoryPet关联230

15.6.1 我们的进展230

15.6.3 我们的进展234

15.7 考虑性能和可维护性235

小结236

第16章 创建基于Web的界面237

16.1 添加一个宠物237

16.1.1 创建AddPet活动237

16.1.2 为AddPet创建视图240

16.1.3 把全部连在一起试用242

16.2.1 创建一个ViewPet活动243

16.2 显示一个宠物243

16.2.2 重构活动246

16.3 编辑宠物249

16.3.1 检查有效性251

16.3.2 把全部连接在一起——第二次试用251

16.4 把宠物从这里拿走252

16.5 重构CRUD256

16.5.1 消除在ViewPet和RemovePet中的重复256

16.5.2 剩下的工作258

16.5.3 完成最后一个重构260

16.5.4 解耦验证261

16.6 更换宠物264

小结266

第17章 定义导航、布局、视觉和感觉267

17.1 组件化窗口组件表单267

17.2 形成更美妙的视感和感觉270

17.3 使用样式化风格272

17.4 导航到更好的用户界面275

小结277

第18章 实现浏览和查询功能278

18.1 定义应用需求278

18.2 浏览分类列表278

18.3 浏览宠物列表280

18.4 搜索商店中的宠物283

18.4.1 实现LuceneSearehcr285

18.4.2 实现LuceneIndexer288

18.4.3 进行到哪里了296

18.4.4 查询任何类型的数据296

18.4.5 进行到哪里了303

18.4.6 实现全文检索304

18.4.7 实现分页305

18.5 把它组装起来308

小结310

第19章 增加购物车311

19.1 创建购物车311

19.2 创建WebWork活动313

19.3 购物车结账315

小结325

第20章 保护应用326

20.1 理解J2EE安全模型326

20.2 简化安全328

20.2.1 使用HTTP请求包装器328

20.2.2 使用安全过滤器329

20.2.3 使用登录过滤器330

20.2.4 在保护下工作331

20.3 使用更优雅的方法332

小结333

热门推荐