基本介紹
- 中文名:Java開放源碼編程
- 作者: 沃納斯
- 譯者:甄山 甄鐳
- 圖書分類:軟體
- 出版時間:2005年1月1日
- 頁數:360
- 資源格式:PDF
- 版本:掃描版
- 出版社:電子工業出版社
- 地區:大陸
- 語言:簡體中文
圖書簡介
內容簡介
本書適合於希望學習Java開放源碼技術的程式設計師閱讀。
內容截圖
目錄
- 第1部分 介紹
第1章 本書概述
1.1 使用開放源碼技術
1.2 了解設計和開發理論
1.2.1 先測試
1.2.2 少即多
1.2.3 總是問傻問題
1.3 考察PetSoar項目
1.4 抓住基礎
小結
第2章 套用概況
2.1 另一個寵物商店
2.2 了解可維護性的重要性
2.3 了解PetSoar的需求
2.4 檢查結構和技術
2.4.1 查看結構
2.4.2 查看實用庫
2.4.3 使用存留和搜尋
2.4.4 使用Web前端
2.5 測試
小結
第2部分 建立開放源碼工具箱
第3章 用JUnit進行單元測試
3.1 測試的類型
3.2 使用JUnit
3.2.1 JUnit的特徵
3.2.2 寫一個單元測試
3.2.3 運行一個單元測試
3.2.4 運行多個測試
3.2.5 你需要知道JUnit的一切
小結
第4章 用Mocks測試對象的互動作用
4.1 測試對象的互動作用
4.1.1 考察測試狀態中的一些易犯錯誤
4.1.2 探索替換物:測試互動作用
4.2 使用模擬對象
4.2.1 實例場景
4.2.2 了解模擬對象的角色
4.2.3 了解模擬對象庫
4.2.4 使用動態模擬
小結
第5章 用Hibernate存儲對象
5.1 了解持久化的複雜性
5.2 用HIBERNATE 2持久化對象
5.2.1 創建持久類
5.2.2 映射擊類到資料庫中
5.2.3 配置Hibernate
5.2.4 獲得一個會話
5.2.5 在資料庫中存儲對象
5.2.6 從資料庫中檢索對象
5.2.7 查詢對象
5.2.8 持久化對象間的聯繫
5.3 持久化層次結構對象
5.4 了解Hibernate工具箱
5.5 Hibernate同其他競爭技術的比較
5.5.1 Hibernate與EJB
5.5.2 Hibernate與JDO
5.5.3 Hibernate與DAO框架
小結
第6章 使用WebWork實現MVC模式
6.1 了解模型視圖控制器
6.1.1 檢查模型層
6.1.2 檢查視圖層
6.1.3 檢查控制器層
6.1.4 把全部層聯繫在一起
6.1.5 考證使用MVC的理由
6.2 了解MVC、WebWork和XWork
6.2.1 考察XWork
6.2.2 考察WebWork
6.3 進一步了解活動
6.3.1 一個簡單的XWork實例
6.3.2 配置XWork
6.3.3 構造活動(活動組成)
6.3.4 從XWork中調用一個活動
6.3.5 使用參數和ActionContext
6.4 套用物理學中的牛頓第三定律
6.4.1 了解XWork結果和活動鏈
6.4.2 考察WebWork結果和Servlet環境
6.4.3 配置WebWork
6.4.4 了解調度的角色
6.4.5 考察JSP和Velocity中的視圖實例
6.4.6 基於組件的Web開發
6.5 表達你自己
6.5.1 使用基表達式
6.5.2 使用高級表達式
6.5.3 了解ValueStack
6.6 考察類型轉換
6.6.1 深入研究一個日期實例
6.6.2 指定默認轉換規則
6.6.3 指定新的轉換規則
6.7 採用截取器分離事務
6.7.1 配置截取器棧
6.7.2 使用記錄截取器
6.7.3 構建自己的截取器
6.8 Validation——一個強大的截取器
6.8.1 考察一個沒有使用XWork驗證框架的實例
6.8.2 考察一個採用XWork驗證框架的實例
6.8.3 使用內置的和用戶自定義的驗證
6.8.4 使用驗證表達式
小結
第7章 用SiteMesh簡化布局
7.1 識別布局的問題
7.2 使用面向對象的解決方案
7.2.1 裝飾器設計模式
7.2.2 組合設計模式
7.2.3 結合模式
7.3 用SiteMesh實現解決方案
7.3.1 SiteMesh的基本原理
7.3.2 創建一個裝飾器
7.3.3 組成網頁
7.3.4 考察SiteMesh
7.4 使用技巧
7.4.1 將裝飾器分組
7.4.2 不要懼怕引用
7.4.3 CSS是你的朋友
7.4.4 最小化HTML
7.4.5 分散關注點
小結
第8章 用Lucnene添加搜尋能力
8.1 了解搜尋的複雜性
8.2 Lucene簡介
8.2.1 了解Lucene的元素
8.2.2 索引一個檔案
8.2.3 搜尋檔案
8.2.4 重新索引和刪除一個已索引的文檔
8.2.5 使用高級搜尋
8.2.6 定製標誌的進程
小結
第9章 用XDoclet生成配置檔案
9.1 XDoclet簡介
9.2 用XDoclet了解面向屬性編程
9.2.1 了解屬性的語法
9.2.2 運行XDoclet
9.2.3 用XDoclet套用高級的Hibernate或映射
9.2.4 使用XDoclet生成更複雜的工件
9.2.5 了解XDoclet任務和子任務
9.2.6 有效地使用XDoclet
小結
第10章 交流與工具
10.1 考察PetSoar開發
10.2 管理不完善的交流
10.2.1 用一切可能的方法交流
10.2.2 使用源碼交流
10.2.3 使用交流作為學習的工具
10.3 考察工具箱
10.3.1 原始碼配置管理——CVS
10.3.2 知識管理——WiKi
10.3.3 郵件目錄——Majordomo
10.3.4 實時討論——IRC和即時訊息
10.3.5 IDE-IDEA和Eclipse
10.3.6 問題追蹤和任務管理——JIRA
10.4 使用連續集成
10.5 把工具連線在一起
小結
第11章 省時工具
11.1 了解實用組件
11.2 了解OSCache
11.2.1 介紹SampleNews
11.2.2 使用LOOP測試
11.2.3 考察OSCache標識符庫
11.2.4 了解OSCache概念
11.2.5 快取時間實例
11.2.6 查看高級的OSCache特徵
11.3 了解Commons Lang
11.3.1 考察最有用的類
11.3.2 使用Builder類
11.4 了解Commons Collections
11.5 了解Commons Logging
11.5.1 考察Commons Logging的優點
11.5.2 一個簡單的實例
11.6 了解Commons Digester
11.6.1 考察一個Digester實例
11.6.2 了解Digester規則
小結
第3部分 開發套用
第12章 建立開發環境
12.1 在IDE內工作
12.1.1 問題:IDE不是自動化的
12.1.2 解決辦法:自動構建工具
12.2 將Ant用於你全部的構建需要
12.2.1 問題:Ant不是萬靈藥
12.2.2 解決辦法:使用有意義的方法
12.3 使用雜交處理方法
12.4 組織你的項目
12.4.1 通過類型組織檔案結構
12.4.2 通過部署組織檔案結構
12.4.3 選擇一個結構
12.4.4 PetSoar怎樣
12.5 管理單元測試
12.5.1 了解測試類型
12.5.2 考察測試小組、JUnit和批量測試
12.6 使用版本控制
12.7 部署PetSoar
小結
第13章 了解測試驅動開發
13.1 為什麼先測試
13.1.1 先測試與後測試
13.1.2 鎖定需求
13.2 了解測試技術
13.2.1 將單元測試與代碼放在同一程式包中
13.2.2 從不跳過失敗的測試
13.2.3 使用模擬對象孤立無法測試部分
13.2.4 何時使用接口和類
13.2.5 保持簡潔
13.2.6 自頂向下工作
13.2.7 使用許多小的對象
13.2.8 保證測試組快速運行
13.2.9 避免靜態和單件
13.3 測試TDD循環
13.3.1 使用TDD的實例場景
13.3.2 實例場景重訪
13.3.3 加強功能
小結
第14章 管理生命周期和組件依賴
14.1 了解組件和服務
14.2 處理依賴
14.2.1 使用直接實例化
14.2.2 使用工廠
14.2.3 使用註冊
14.2.4 使用容器
14.3 了解組件生命周期
14.4 了解反轉控制
14.4.1 考察優點
14.4.2 考察缺點
14.5 了解分離關注點(Separation of Concerns)
14.6 使用容器來定義範圍
14.7 使用XWork的容器
14.7.1 配置容器
14.7.2 了解容器是如何工作的
14.8 測試XWork組件
小結
第15章 定義域模型
15.1 考慮域模型的優勢
15.2 處理層
15.2.1 層驅動與特性驅動方法的比較
15.2.2 選擇自底向上、自頂向下、中間分離
15.3 確定當前的目標
15.4 向店中添加一個寵物
15.4.1 使用Hibernate實現PersistenceManager
15.4.2 我們的進展
15.5 檢索寵物
15.5.1 檢索一個單一的寵物
15.5.2 我們的進展
15.6 持續分類目錄
15.6.1 我們的進展
15.6.2 實現Category-Pet關聯
15.6.3 我們的進展
15.7 考慮性能和可維護性
小結
第16章 創建基於Web的界面
16.1 添加一個寵物
16.1.1 創建AddPet活動
16.1.2 為AddPet創建視圖
16.1.3 把全部連在一起試用
16.2 顯示一個寵物
16.2.1 創建一個ViewPet活動
16.2.2 重構活動
16.3 編輯寵物
16.3.1 檢查有效性
16.3.2 把全部連線在一起——第二次試用
16.4 把寵物從這裡拿走
16.5 重構CRUD
16.5.1 消除在ViewPet和RemovePet中的重複
16.5.2 剩下的工作
16.5.3 完成最後一個重構
16.5.4 解耦驗證
16.6 更換寵物
小結
第17章 定義導航、布局、視覺和感覺
17.1 組件化視窗組件表單
17.2 形成更美妙的視感和感覺
17.3 使用樣式化風格
17.4 導航到更好的用戶界面
小結
第18章 實現瀏覽和查詢功能
18.1 定義套用需求
18.2 瀏覽分類列表
18.3 瀏覽寵物列表
18.4 搜尋商店中的寵物
18.4.1 實現LuceneSearcher
18.4.2 實現LuceneIndexer
18.4.3 進行到哪裡了
18.4.4 查詢任何類型的數據
18.4.5 進行到哪裡了
18.4.6 實現全文檢索
18.4.7 實現分頁
18.5 把它組裝起來
小結
第19章 增加購物車
19.1 創建購物車
19.2 創建WebWork活動
19.3 購物車結帳
小結
第20章 保護套用
20.1 理解J2EE安全模型
20.2 簡化安全
20.2.1 使用HTTP請求包裝器
20.2.2 使用安全過濾器
20.2.3 使用登錄過濾器
20.2.4 在保護下工作
20.3 使用更優雅的方法
小結