Data Access Patterns: Database Interactions in Object-Oriented Applications

Clifton Nock

  • 出版商: Addison Wesley
  • 出版日期: 2003-09-21
  • 售價: $2,170
  • 貴賓價: 9.5$2,062
  • 語言: 英文
  • 頁數: 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.