AnyBook4Less.com | Order from a Major Online Bookstore |
![]() |
Home |  Store List |  FAQ |  Contact Us |   | ||
Ultimate Book Price Comparison Engine Save Your Time And Money |
![]() |
Title: Data Access Patterns: Database Interactions in Object-Oriented Applications by Clifton Nock ISBN: 0-13-140157-2 Publisher: Addison-Wesley Pub Co Pub. Date: 15 September, 2003 Format: Hardcover Volumes: 1 List Price(USD): $49.99 |
Average Customer Rating: 4.5 (4 reviews)
Rating: 3
Summary: Not good enough.
Comment: Having read GoF's "Design Patterns" and "Design Patterns Smalltalk Companion" in the series, I grabbed this book as soon as I see it in store. But this book leaves a lot to be desired.
There seems to be the problem of having patterns just for the sake of having patterns.
For example, why do you want to make queries and database updates into factories? Looking at the sample code, does it really help decoupling?
To reviewer zhanggoo> The basic idea of "design to interface instead of concrete implementation" of course is always correct. I actually took the time and tried out the sample code of "input and output patterns" and got those working. However, you must realize that these patterns need a lot of re-thinking, redesign and refactoring once it's outside the realm of toy examples - How to handle domain object or selection criteria based on multiple-table-join (very common)? How to handle database generated identity? What if there needs to have a couple of selection factories for one domain object? Not to mention these patterns are all based on SQL string manipulations, static typing of the parameters all lost.
How come you can only get the first page from the "Paging Iterator"? Besides giving hints to JDBC, the pattern gives no control over the rows actually returned from the database.
The "Cache Patterns" does not solve the problem of preventing stale entry or even attempt to describe how to invalidate cache entry, so no matter how efficient you get, the cache is not guaranteed to be up-to-date /correct.
To reviewer zhanggoo> The author only talked about cache expiration - purge cache entry to enhance performance, but not invalidation (to prevent cache from getting inconsistent). Experienced database developer knows that query tuning is the first thing to look at to improve performance, one should take advantage of db server cache and app server cache as much as possible, as a last resort when you really need to roll your own cache, you need to make sure you get it right.
I'm surprised "stored procedure" is not mentioned at all.
To reviewer zhanggoo> There're certainly different opinions on "stored procedure". SP is definitely not OO, RDBMS is not OO at all - as long as you're using RDBMS, you have to face the fact that OO cannot be applied everywhere. On the other hand, SP helps greatly in decoupling, since query logic are not embedded in java code, app code and db code have clear interfaces, query optimization usually is easier to do with SP. These are good practices and patterns in my book.
The overall organization and format of the book is good, but for experienced database application developers, you might learn more by studying mature object/relational frameworks like EOF (Apple WebObjects) or TopLink.
Rating: 5
Summary: Great book on persistence theory
Comment: 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.
Rating: 5
Summary: Good design pattern book in data access !!
Comment: 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.
Additional note - would like to see the quality aspect in each of the patterns.
Overall, the book is very well structured, explained and thoughtful.
Thank you Mr. Nock !! This is a perfect book for my thesis.
Looking forward to read your future publish.
Regards,
EQ
![]() |
Title: Enterprise Integration Patterns : Designing, Building, and Deploying Messaging Solutions by Gregor Hohpe, Bobby Woolf ISBN: 0321200683 Publisher: Pearson Education Pub. Date: 10 October, 2003 List Price(USD): $44.99 |
![]() |
Title: Domain-Driven Design: Tackling Complexity in the Heart of Software by Eric Evans ISBN: 0321125215 Publisher: Addison-Wesley Pub Co Pub. Date: 22 August, 2003 List Price(USD): $49.99 |
![]() |
Title: Agile Database Techniques : Effective Strategies for the Agile Software Developer by Scott Ambler ISBN: 0471202835 Publisher: John Wiley & Sons Pub. Date: 06 October, 2003 List Price(USD): $40.00 |
![]() |
Title: Patterns of Enterprise Application Architecture by Martin Fowler ISBN: 0321127420 Publisher: Addison-Wesley Pub Co Pub. Date: 05 November, 2002 List Price(USD): $49.99 |
![]() |
Title: Agile Software Development, Principles, Patterns, and Practices by Robert C. Martin ISBN: 0135974445 Publisher: Prentice Hall Pub. Date: 15 October, 2002 List Price(USD): $57.00 |
Thank you for visiting www.AnyBook4Less.com and enjoy your savings!
Copyright� 2001-2021 Send your comments