Data Access Patterns: Database Interactions in Object-Oriented Applications
暫譯: 資料存取模式:物件導向應用程式中的資料庫互動

Clifton Nock

  • 出版商: Addison Wesley
  • 出版日期: 2003-09-21
  • 售價: $2,220
  • 貴賓價: 9.5$2,109
  • 語言: 英文
  • 頁數: 512
  • 裝訂: Hardcover
  • ISBN: 0131401572
  • ISBN-13: 9780131401570
  • 相關分類: Object-oriented資料庫
  • 已絕版

買這商品的人也買了...

相關主題

商品描述

Summary

25 proven patterns for improving data access and application performance Efficient, high-quality data access code is crucial to the performance and usability of virtually any enterprise application--and there's no better way to improve an existing system than to optimize its data access code. Regardless of database engine, platform, language, or application, developers repeatedly encounter the same relational database access challenges. In Data Access Patterns, Clifton Nock identifies 25 proven solutions, presenting each one in the form of a clear, easy-to-use pattern.

These patterns solve an exceptionally wide range of problems including creating efficient database-independent applications, hiding obscure database semantics from users, speeding database resource initialization, simplifying development and maintenance, improving support for concurrency and transactions, and eliminating data access bottlenecks.

Every pattern is illustrated with fully commented Java/JDBC code examples, as well as UML diagrams representing interfaces, classes, and relationships. The patterns are organized into five categories:

  • Decoupling Patterns: Build cleaner, more reliable systems by decoupling data access code from other application logic
  • Resource Patterns: Manage relational database resources more efficiently
  • Input/Output Patterns: Simplify I/O operations by translating consistently between "physical" relational data and domain object representations of that data
  • Cache Patterns: Use caching strategically, to optimize the tradeoffs between data access optimization and cache overhead
  • Concurrency Patterns: Implement concurrency and transactions more effectively and reliably

Data Access Patterns demystifies techniques that have traditionally been used only in the most robust data access solutions--making those techniques practical for every software developer, architect, and designer.

Table of Contents

Preface.


Acknowledgments.


Introduction.

I. DECOUPLING PATTERNS.

The Data Model and Data Access.

Domain Objects and Relational Data.

Decoupling Patterns.

Data Accessor.

Description.

Context.

Applicability.

Structure.

Interactions.

Consequences.

Strategies.

Sample Code.

Related Patterns and Technology.

Active Domain Object.

Description.

Context.

Applicability.

Structure.

Interactions.

Consequences.

Strategies.

Sample Code.

Related Patterns and Technology.

Object/Relational Map.

Description.

Context.

Applicability.

Structure.

Interactions.

Consequences.

Strategies.

Sample Code.

Related Patterns and Technology.

Layers.

Description.

Context.

Applicability.

Structure.

Interactions.

Consequences.

Strategies.

Sample Code.

Related Patterns and Technology.

II. RESOURCE PATTERNS.

Resources and Context.

Resources and Concurrency.

Data Access Resources.

Resource Management.

Resource Patterns.

Resource Decorator.

Description.

Context.

Applicability.

Structure.

Interactions.

Consequences.

Strategies.

Sample Code.

Related Patterns and Technology.

Resource Pool.

Description.

Context.

Applicability.

Structure.

Interactions.

Consequences.

Strategies.

Sample Code.

Related Patterns and Technology.

Resource Timer.

Description.

Context.

Applicability.

Structure.

Interactions.

Consequences.

Strategies.

Sample Code.

Related Patterns and Technology.

Resource Descriptor.

Description.

Context.

Applicability.

Structure.

Interactions.

Consequences.

Strategies.

Sample Code.

Related Patterns and Technology.

Retryer.

Description.

Context.

Applicability.

Structure.

Interactions.

Consequences.

Strategies.

Sample Code.

Related Patterns and Technology.

III. INPUT AND OUTPUT PATTERNS.

Input and Output Operations.

Identity Objects.

Input and Output Patterns.

Selection Factory.

Description.

Context.

Applicability.

Structure.

Interactions.

Consequences.

Strategies.

Sample Code.

Related Patterns and Technology.

Domain Object Factory.

Description.

Context.

Applicability.

Structure.

Interactions.

Consequences.

Strategies.

Sample Code.

Related Patterns and Technology.

Update Factory.

Description.

Context.

Applicability.

Structure.

Interactions.

Consequences.

Strategies.

Sample Code.

Related Patterns and Technology.

Domain Object Assembler.

Description.

Context.

Applicability.

Structure.

Interactions.

Consequences.

Strategies.

Sample Code.

Related Patterns and Technology.

Paging Iterator.

Description.

Context.

Applicability.

Structure.

Interactions.

Consequences.

Strategies.

Sample Code.

Related Patterns and Technology.

IV. CACHE PATTERNS.

Cache Operations and Transparency.

Cached Data.

Cache Patterns.

Cache Accessor.

Description.

Context.

Applicability.

Structure.

Interactions.

Consequences.

Strategies.

Sample Code.

Related Patterns and Technology.

Demand Cache.

Description.

Context.

Applicability.

Structure.

Interactions.

Consequences.

Strategies.

Sample Code.

Related Patterns and Technology.

Primed Cache.

Description.

Context.

Applicability.

Structure.

Interactions.

Consequences.

Strategies.

Sample Code.

Related Patterns and Technology.

Cache Search Sequence.

Description.

Context.

Applicability.

Structure.

Interactions.

Consequences.

Strategies.

Sample Code.

Related Patterns and Technology.

Cache Collector.

Description.

Context.

Applicability.

Structure.

Interactions.

Consequences.

Strategies.

Sample Code.

Related Patterns and Technology.

Cache Replicator.

Description.

Context.

Applicability.

Structure.

Interactions.

Consequences.

Strategies.

Sample Code.

Related Patterns and Technology.

Cache Statistics.

Description.

Context.

Applicability.

Structure.

Interactions.

Consequences.

Strategies.

Sample Code.

Related Patterns and Technology.

V. CONCURRENCY PATTERNS.

Units of Work.

Working Copies.

Concurrency Problems.

Concurrency Solutions.

Concurrency Patterns.

Transaction.

Description.

Context.

Applicability.

Structure.

Interactions.

Consequences.

Strategies.

Sample Code.

Related Patterns and Technology.

Optimistic Lock.

Description.

Context.

Applicability.

Structure.

Interactions.

Consequences.

Strategies.

Sample Code.

Related Patterns and Technology.

Pessimistic Lock.

Description.

Context.

Applicability.

Structure.

Interactions.

Consequences.

Strategies.

Sample Code.

Related Patterns and Technology.

Compensating Transaction.

Description.

Context.

Applicability.

Structure.

Interactions.

Consequences.

Strategies.

Sample Code.

Related Patterns and Technology.

Afterword.

Glossary.

Bibliography.

Index.

商品描述(中文翻譯)

摘要

25 種經驗證的模式以改善資料存取和應用程式效能
高效且高品質的資料存取程式碼對於幾乎所有企業應用程式的效能和可用性至關重要,而改善現有系統的最佳方法就是優化其資料存取程式碼。無論是資料庫引擎、平台、語言或應用程式,開發人員反覆面臨相同的關聯資料庫存取挑戰。在《資料存取模式》中,Clifton Nock 確定了 25 種經驗證的解決方案,並以清晰、易於使用的模式形式呈現每一種解決方案。

這些模式解決了範圍極廣的問題,包括創建高效的資料庫獨立應用程式、隱藏用戶不易理解的資料庫語義、加速資料庫資源初始化、簡化開發和維護、改善對併發和交易的支援,以及消除資料存取瓶頸。

每個模式都附有完整註解的 Java/JDBC 程式碼範例,以及表示介面、類別和關係的 UML 圖。這些模式被組織成五個類別:

- 解耦模式:通過將資料存取程式碼與其他應用程式邏輯解耦來構建更乾淨、更可靠的系統
- 資源模式:更有效地管理關聯資料庫資源
- 輸入/輸出模式:通過在「物理」關聯資料和該資料的領域物件表示之間一致地轉換來簡化 I/O 操作
- 快取模式:策略性地使用快取,以優化資料存取優化和快取開銷之間的權衡
- 併發模式:更有效和可靠地實現併發和交易

《資料存取模式》揭開了傳統上僅在最強大的資料存取解決方案中使用的技術的神秘面紗,使這些技術對每位軟體開發人員、架構師和設計師都變得實用。

目錄
前言
致謝
導言
I. 解耦模式
資料模型與資料存取
領域物件與關聯資料
解耦模式
資料存取器
描述
上下文
適用性
結構
互動
後果
策略
範例程式碼
相關模式與技術
主動領域物件
描述
上下文
適用性
結構
互動
後果
策略
範例程式碼
相關模式與技術
物件/關聯映射
描述
上下文
適用性
結構
互動
後果
策略
範例程式碼
相關模式與技術

描述
上下文
適用性
結構
互動
後果
策略
範例程式碼
相關模式與技術
II. 資源模式
資源與上下文
資源與併發
資料存取資源
資源管理
資源模式
資源裝飾器
描述
上下文
適用性
結構
互動
後果
策略
範例程式碼
相關模式與技術
資源池
描述
上下文
適用性
結構
互動
後果
策略
範例程式碼
相關模式與技術
資源計時器
描述
上下文
適用性
結構
互動
後果
策略
範例程式碼
相關模式與技術
資源描述符
描述
上下文
適用性
結構
互動
後果
策略
範例程式碼
相關模式與技術
重試器
描述
上下文
適用性
結構
互動
後果
策略
範例程式碼
相關模式與技術
III. 輸入與輸出模式
輸入與輸出操作
身份物件
輸入與輸出模式
選擇工廠
描述
上下文
適用性
結構
互動
後果
策略
範例程式碼
相關模式與技術
領域物件工廠
描述
上下文
適用性
結構
互動
後果
策略
範例程式碼
相關模式與技術
更新工廠
描述
上下文
適用性
結構
互動
後果
策略
範例程式碼
相關模式與技術
領域物件組合器
描述
上下文
適用性
結構
互動
後果
策略
範例程式碼
相關模式與技術
分頁迭代器
描述
上下文
適用性
結構
互動
後果
策略
範例程式碼
相關模式與技術
IV. 快取模式
快取操作與透明性