Programming Books C Java PHP Python Learn more Browse Programming Books
Buy New
  • List Price: $49.99
  • Save: $8.65 (17%)
Only 7 left in stock (more on the way).
Ships from and sold by
Gift-wrap available.
Have one to sell? Sell on Amazon
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See this image

Data Access Patterns: Database Interactions in Object-Oriented Applications (paperback) Paperback – September 21, 2003

ISBN-13: 978-0321555625 ISBN-10: 0321555627 Edition: 1st

Buy New
Price: $41.34
17 New from $38.15 13 Used from $37.01
Amazon Price New from Used from
"Please retry"
$38.15 $37.01
Free Two-Day Shipping for College Students with Amazon Student Free%20Two-Day%20Shipping%20for%20College%20Students%20with%20Amazon%20Student


Shop the New Digital Design Bookstore
Check out the Digital Design Bookstore, a new hub for photographers, art directors, illustrators, web developers, and other creative individuals to find highly rated and highly relevant career resources. Shop books on web development and graphic design, or check out blog posts by authors and thought-leaders in the design industry. Shop now

Product Details

  • Paperback: 512 pages
  • Publisher: Addison-Wesley Professional; 1 edition (September 21, 2003)
  • Language: English
  • ISBN-10: 0321555627
  • ISBN-13: 978-0321555625
  • Product Dimensions: 7 x 1.6 x 9.5 inches
  • Shipping Weight: 1.8 pounds (View shipping rates and policies)
  • Average Customer Review: 4.1 out of 5 stars  See all reviews (7 customer reviews)
  • Amazon Best Sellers Rank: #2,927,715 in Books (See Top 100 in Books)

Editorial Reviews

From the Back Cover

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.

About the Author

Clifton Nock is a senior software architect at PeopleSoft in Denver, Colorado. He spent five years at IBM designing programming interfaces that simplify access to the iSeries operating system and its integrated database and holds nine U.S. patents relating to this work. He has taught several programming courses at the University of Minnesota and presented at technical conferences worldwide. He holds an M.S. in Computer Science from the University of Minnesota.

More About the Author

Discover books, learn about writers, read author blogs, and more.

Customer Reviews

4.1 out of 5 stars
Share your thoughts with other customers

Most Helpful Customer Reviews

8 of 8 people found the following review helpful By Ray Ye on December 10, 2004
Format: Hardcover Verified Purchase
The book presented 25 patterns grouped in 5 areas, decoupling (conceptual and architectural level), resource, input/output, cache and concurrency.

The most interesting patterns are in resource and cache. Decoupling and concurrency patterns (e.g., data accessor, active domain object, layers, transactions, optimistic/pessimistic lock etc.) are well known and the contents are a bit too light to be very useful, yet the concepts are giving readers some directions.

In resource patterns, some interesting patterns are presented, particularly resource timer automatically releases inactive resource, retryer enables fault-tolerance for data access operations.

In cache patterns, cache collector purges entries whose presence in the cache no longer provides any performance benefits; cache replicator replicates operations across multiple caches.

There are some areas to be improved, first, author should consolidate pattern names with other pattern authors, e.g., data accessor is also known as data access object, active domain object is similar to active record, paging iterator is close to value list handler (though value list handler is more decoupled from underlying data store), the point is, one of the important benefits and purposes for documenting patterns is to build common vocabularies among designers, using different names for same or similar patterns is defeating this purpose. The same pattern name should be used and may be presented as a variation of the original pattern.

Secondly, the examples given in the book is a bit too simple, sometimes, the examples might not justify or validate the interface abstraction is generic enough to handle real world problems, so some tweaking and modification to the pattern would be expected.
Read more ›
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
6 of 6 people found the following review helpful By Ron Cox on May 10, 2004
Format: Hardcover Verified Purchase
I'm in the middle of developing yet another persistence framework for a client, having done it a couple of times before. Each time I refine my ideas about how to do it. I must say that this book has a thorough examination of issues and certainly food for thought as well as answers to a couple of questions I've had.
However, I wouldn't say it's a complete design (which it doesn't claim to be). I still found myself picking and choosing which patterns to use as is, which to modify to my liking, and which to discard.
Also, I was left with the impression that the book didn't give enough coverage to handling collections of objects. The material is mostly geared toward working with a single object, which is understandable. I just think it would have been helpful to have more discussion about handling collections. For example, what should happen when you request to load an object, but the criteria you passed to the loading mechanism results in data for more than one object being retrieved from the database? Hand back the first object? Raise an exception? If it's covered in the book, I missed it.
Further, I would like to see more discussion about WHEN to refresh an object from the underlying database and when to save to the database. I always struggle with that timing issue. Having studied EJB, I like how entity beans keep your bean in synch with the underlying database. But the EJB container intercepts calls and makes those things happen. When coding the persistence layer myself, that's not an option. So, again, this is something I'd like to see some light shed on.
Overall, though, a great book if you're interested in reading up on persistence layer patterns.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
7 of 8 people found the following review helpful By "aequality" on February 28, 2004
Format: Hardcover
I am in the process of writing a thesis proposal that utilizing JDBC and TableModeler to access various database platforms as a prototype.
While prototyping the model, I encountered a lot of consideration of what is the best approach for certain implementation (mainly on JDBC). While looking into a few of designing books, I found this Data Access Patterns book that fits into my research needs. I have read other book such as Designing Flexible Object Oriented System with UML and not able to apply the concept or see solution in it. It is simply a conceptual book. No practical examples at all.
Mr. Nock has explained the design patterns very clearly in each chapter by using JDBC as a media. The examples are very easy to understand as compared to Design Patterns Explained. I am not able to understand codes that implementing graphics in that book.
Mr. Nock addressed the pros and cons of the patterns. Many techie books do not even bother to talk about pros and cons.
The author has chosen the right title for the book, I realized that many times author received a poor rating because reader expect different contents based on the title of the book.
The feature I liked the most - the ¡§Applicability¡¨ section on each chapter. Unlike other patterns book, the author explains the concept and gives example of "what" and "when" to use certain design pattern. This section is pretty much the answer for my thesis obstacles. The answer is in this book!!
Minor typos do exist such as in page 390 roll back instead of rollback.
In concurrency chapter, author may have mis-used the term of updates locking. It should be Lost Updates instead of Missing updates. Concurrency chapter looks like UDB Lock Concurrency architecture.
Read more ›
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again

What Other Items Do Customers Buy After Viewing This Item?