shikimi

shikimi

カレンダー

ブックマークタグ

登録情報はありません。
リファレンス

first-time visitors
user guide
謝辞

「みんなの翻訳」は情報通信研究機構言語翻訳グループ東京大学図書館情報学研究室による共同プロジェクトであり、三省堂国立情報学研究所連想情報学研究開発センターが開発に協力しています。三省堂には「グランドコンサイス英和辞典(36万項目収録)」の使用を許可していただきました。

連携研究グループはこちらをご覧ください。

「みんなの翻訳」を使っている翻訳グループについてはこちらをご覧ください。

バナー

logo

ポスター

poster

フライヤー

poster poster
Mozilla Firefox ブラウザ無料ダウンロード
本サイトはブラウザ「Mozilla Firefox」推奨です。
Firefox3で動作確認しています。

Valid XHTML 1.0 Transitional

site_image
Data access object
https://en.wikipedia.org/wiki/Data_access_object
shikimi shikimi     最終更新:2017-03-20 13:35:49    PDF


文書タグ: IT百科事典

Data Access Object(DAO)

この記事はソフトウェア・デザインパターンについてのものである。マイクロソフトのライブラリについてはJet Data Access Objectsを参照のこと。

コンピュータ・ソフトウェアにおいて、データ・アクセス・オブジェクト(DAO)とは、一種のデータベースや永続性機構の抽象的なインタフェースを提供するオブジェクトである。永続化層を呼び出すアプリケーションをマッピングすることで、DAOはデータベースの詳細を明らかにすることなく特定のデータの操作を可能にする。この分離は単一責任の原則を支える。それは、ドメイン固有のオブジェクトとデータ型の点からアプリケーションがどのようなデータアクセスを必要とするか(DAOのパブリック・インタフェース)を、それらの要求が特定のDBMSやデータベース・スキーマなどでどのようにして満たされることが出来るか(DAOの実装)から分離する。

このデザインパターンは以下のものに一様に適用可能である:(1 - ほとんどのプログラミング言語;2 - 永続性を必要とするほとんどの種類のソフトウェア;3 - ほとんどの種類のデータベース)。だが、伝統的にJava EE applicationと関係データベース(そのプラットフォームに関してサン・マイクロシステムズのベスト・プラクティス・ガイドライン[1]『Core J2EE Patterns』をもとにしているため、JDBC APIを介してアクセスされる)と結び付けられる。

目次

1 利点
2 欠点
3 ツールとフレームワーク
4 関連項目
5 参考文献
6 外部リンク

利点

データ・アクセス・オブジェクトを利用する利点は、互いについて知ることはできるが知るべきではなく、頻繁に独立して展開することが予期されているアプリケーションの重要な2つの部分を、比較的単純かつ厳密に分離できることである。ビジネス・ロジックの変更は同じDAOインタフェースに依存することがあるが、永続ロジックへの変更はインタフェースが適切に実装されている限りDAO clientに影響しない。格納されたものの詳細はすべてアプリケーションの他の部分からは隠される(カプセル化を参照)。このようにして、一つのDAOの実装を修正するだけで、残りのアプリケーションが影響を受けることなく、永続性機構に行われうる変更を実行することが可能となる。DAOはアプリケーションとデータベースとの間の橋渡し役をする。それらはオブジェクトとデータベースのレコードとでデータを行ったり来たりさせる。コードの単体テストは、試験のテストダブルとDAOを置き換えることで容易になり、それによってテストを永続化層に依存しないようにする。

Java プログラミング言語の非特異的背景において、設計思想としてのデータ・アクセス・オブジェクトは様々な形で実現されうる。これはデータ・アクセス部分をアプリケーション・ロジックから分離する極めて単純なインタフェースから、フレームワークや市販用の製品にまで渡る。DAOのコーディングの枠組みは多少の技術を必要とすることがある。Java Persistence APIやEnterprise JavaBeansのような技術はアプリケーション・サーバーに組み込まれるようになり、JavaEEアプリケーション・サーバーを利用したアプリケーションで使われることが可能である。TopLinkのような市販用の製品はオブジェクト関係マッピング(ORM)に基づき利用可能である。一般的なオープンソースのORM製品には、DoctrineやHibernate、iBATIS、Apache OpenJPAのようなJPA implementationsなどがある。

欠点

DAOを使用することの潜在的な欠点には、漏れのある抽象化やコードの重複、抽象化の逆転がある。とりわけ、正規のJavaオブジェクトとしてのDAOの抽象化はそれぞれのデータベース・アクセスのコストの高さを隠すことがあり、また、それ以外の場合では通常のSQLの集合演算での単一の演算で返されるであろう情報を取得するために、開発者に倍量のデータベースクエリを起動させることを強いることになる。あるアプリケーションが複数のDAOを必要とする場合、それぞれのDAOに対して本質的に同じ生成と読み取り、更新、削除のコードを繰り返していることに気付くかもしれない。しかしながら、この定型文のコードは、これらの共通の操作を取り扱う汎用のDAOを実装することで避けられるかもしれない[2]。時間消費が抑えられる。

ツールとフレームワーク

ODB C++用のコンパイラベースのオブジェクト関係マッピング(ORM)システム

ORMLite JDBCとAndroid用のJavaの軽量オブジェクト関係マッピング(ORM)フレームワーク[3]

Microsoft Entity Framework

DBIx::Class Perl用のオブジェクト関係マッピング(ORM)モジュール

関連項目

Create, read, update and delete (CRUD)

Data access layer

Service Data Objects

参考文献

1. "Core J2EE Patterns - Data Access Objects". Sun Microsystems Inc. 2007-08-02.

2. 参照: http://www.ibm.com/developerworks/java/library/j-genericdao/index.html for workarounds

3. Hodgson, Kyle; Reid, Darren. ServiceStack 4 Cookbook. Packt Publishing Ltd. p. Chapter 4. ISBN 9781783986576 . Retrieved 22 June 2016.

外部リンク

Java Persistence - The DAO Design Pattern

PHP best practices (Use Data Access Objects (DAO))

原文:https://en.wikipedia.org/wiki/Data_access_object
Creative Commons License
この作品は、クリエイティブ・コモンズ・ライセンスの下でライセンスされています。
クリエイティブ・コモンズ・ライセンス外部リンク
新着文書(shikimi)

Trusted Computer System Evaluation Criteria
Trusted Computer System Evaluation Criteria(信頼されたコンピュータ・システム評価基準) 【画像のキャプション】オレンジブック 信頼されたコ...
Trusted computing base
Trusted computing base 信頼できるコンピューティング( Trusted Computing )と混同しないこと。 コンピュータシステムのtrusted computing...
Air gap malware
エアギャップ・マルウェア エアギャップ・マルウェアとは、様々なエアギャップの隠されたチャネルを使い、安全なコンピュータ・システムのエアギャッ...
Revisit to resist: Histories of the movement to end gender-based violence
抵抗のための再検討:ジェンダーに基づく暴力を終わらせるための活動の歴史 2017年11月8日 記憶は抵抗である。あなたの話が沈黙させられ挑まれたな...

新着文書

Configuration of your jobs with .gitlab-ci.yml
 目次: > .gitlab-ci.yml とは  > image と services  > before_script  > after_script  > stages  > types  > variables ...
Diplomacy of Conscience[Chapter 1]Amnesty International and Changing Human Rights Norms / Ann Marie Clark
第1章 国際政治の中のアムネスティ・インターナショナル 小さな個々人の集まりがアムネスティ・インターナショナル(AI)を1961年に設立した:人権...
release sudan human rights defender dr mudawi ibrahim adam / Defend the brave: release Dr Mudawi Ibrahim Adam
[組織的な運動原文] ムダウィ博士は勇敢に強く弁護した:スーダンで暴力から避難する家族たちのために、多くの他の人権問題と同様に。このために、彼は...

新着Wikipedia翻訳

Trusted Computer System Evaluation Criteria
Trusted Computer System Evaluation Criteria(信頼されたコンピュータ・システム評価基準) 【画像のキャプション】オレンジブック 信頼されたコ...
Trusted computing base
Trusted computing base 信頼できるコンピューティング( Trusted Computing )と混同しないこと。 コンピュータシステムのtrusted computing...
Wikipedia Today's Photo: March 30 2017
オランダの後期印象派画家、ヴィンセント・ヴァン・ゴッホ(1853-1890)。作品が進化していくにつれ、静物、農民、風景、オリーブの木、小麦畑、ひま...

更新履歴

キャンセル
ブックマーク登録

タグを「;(半角セミコロン)」区切りで入力して下さい(例)tag1;tag2;tag3
10タグまで登録可能。各タグ30文字まで

履歴
状態 作業中 作業予定あり 作業予定なし 作業完了
テーマ 社会 政治 法律 経済 文化 芸能 科学技術 IT 健康/医療 スポーツ メディア 植物 動物 菌類 地方 国際
地域 日本 東アジア アフリカ 南アジア 東南アジア 西アジア/中東 太平洋 北米 中南米 欧州
ジャンル ニュース 解説記事 論文 日記 百科事典

コメントを入力して下さい
0 / 250
    
ブックマーク登録

ブックマークに登録しました。


言語選択

    
ファイルプロパティ

使用許諾条件
ファイル情報
あなただけがこのファイルを閲覧・編集できます。
みんながこのファイルを閲覧できますが、
編集ができるのはあなただけです。
あなたに加えて、指定された人やグループが
このファイルを自由に閲覧・編集できます。
公開設定
編集設定
グループ:0組 翻訳者:0人
    
アクセス属性
この文書は「非公開」設定になっています。
一般公開する場合は、編集ページの書誌情報で「公開」設定に変更して下さい。
翻訳者選択

※メニュー「翻訳者管理」で翻訳者、グループを追加することができます。


    
ノート

非公開ノート
0 / 2000 ※「公開・編集」権限を持つ翻訳者のみに公開されます。
公開ノート
0 / 2000 ※文書を「公開」にした場合、一般に公開されます。

言語選択

 →