[ Team LiB ] Previous Section Next Section

Data Access Patterns

Enterprise software developers tackle the same data access problems regardless of their application domain. These are some examples of common issues that arise when designing data access components:

  • Applications need to work with multiple database products.

  • User interfaces need to hide obscure database semantics.

  • Database resource initialization is slow.

  • Data access details make application code difficult to develop and maintain.

  • Applications need to cache data that they access frequently.

  • Multiple users need to access the same data concurrently.

There are common solutions to these problems. Some of these solutions are intuitive and have been discovered independently by literally thousands of developers. Others are more obscure, and have been solved in only the most robust data access solutions.

Data access patterns describe generic strategies for solving common design problems like these. A pattern does not necessarily dictate a particular implementation. Instead, it describes an effective design and structure that form the basis for a solution.

This book describes patterns that apply specifically to relational data access. Relational databases are by far the most prevalent and proven data storage mechanism that enterprise software uses today. Other persistence technologies, like object-oriented and hierarchical databases, are gaining in popularity. These alternative databases store data closer to its runtime object form, so conventional object-oriented design patterns and techniques apply more readily.

    [ Team LiB ] Previous Section Next Section