概要#edit
Data Access Objectは問題を、ドメイン固有のオブジェクトとデータ型を使ってアプリケーションにどのようなデータアクセスが必要であるかという点(DAOの公開インタフェース)と、それらのニーズを特定のDBMSやデータベーススキーマでどのように満足するかという点(DAOの実装)に分離する。
このデザインパターンは多くのプログラミング言語で利用可能であり、多くの永続性を必要とするアプリケーションや多くのデータベースで利用可能である。しかし、サン・マイクロシステムズのベストプラクティスガイドライン[1] ("Core J2EE Patterns") が発祥であるため、JDBC APIを経由してJakarta EEから関係データベースにアクセスする際に適用されることが多い。
利点#edit
DAOを利用する際の利点は、アプリケーションの重要な2つの部分間の比較的単純で厳密な分離を可能にする点であり、それによって各部が互いのことをほとんど知らなくて済むようにし、独立に修正可能となる。ビジネスロジックの変化は、インタフェースが正しく実装される限り、DAOクライアントに影響しない。
Javaに関しては、Data Access Objectは数々の複雑で多様なJava 永続性技術(JDBC、JDO、EJB CMP、TopLink、Hibernate、iBATISなど)からアプリケーション本体を隔離するのに利用される。Data Access Objectを使うと、基盤となる技術を更新/置換しても、アプリケーションの他の部分を変更する必要がない。
脚注#edit
注釈#edit
- ^ “Core J2EE Patterns - Data Access Object”. Sun Microsystems Inc. (2002年). 2007年8月2日閲覧。
関連項目#edit
外部リンク#edit
This article is mirrored from “Data Access Object” on 日本語 Wikipedia, revision 90216623, written by Wikipedia's contributors and licensed CC BY-SA 4.0. Editing it here creates a Quire copy with its own history.
Synced with Wikipedia revision 90216623 · just now