2016-05-02 3 views
1

私はSpring Data JPAを学習しており、「JPAリポジトリ」(具体的にはSpring Data JPAリポジトリ)と出会いました。 「JPAレポジトリ」という用語が一般概念(JPAのような標準仕様)であるのか、Spring Dataプロジェクトで作成されているのか理解したいですか?JPAリポジトリコンセプト一般的なコンセプトやSpringフレームワークによる造語?

ここでいう「リポジトリ」とは、正確には何を意味しますか?

答えて

2

ここでいう「リポジトリ」とは、正確には何を意味しますか?

Repositoryは、Patterns of Enterprise Application Architecture(Martin Fowler、2002)に導入されたパターンの1つです。本では、と定義リポジトリ:ドメインにアクセスするための コレクションのようなインタフェースを使用して、ドメインとデータ・マッピング層の間

を媒介することが多いから利益を得る複雑なドメインモデルと

システムオブジェクト例えば、Data Mapperによって提供されるものであり、ドメイン オブジェクトをデータベースアクセスコードの詳細から隔離する。 このようなシステムでは、 は、クエリ構築コードがに集中している マッピング層を介して別の抽象レイヤを構築する価値があります。この は、多数のドメインクラス がある場合やクエリが多い場合に、より重要になります。このような場合は、特にこのレイヤーを追加すると、重複するクエリロジックが最小限に抑えられます。

リポジトリは、ドメインとデータマッピング層を仲介します。 は、メモリ内ドメインオブジェクトコレクションのように機能します。 クライアントオブジェクト は、クエリ仕様を宣言的に構成し、 リポジトリに満足度に送信します。オブジェクトは、オブジェクトの単純なコレクションから彼らができるようは、へおよびリポジトリ からを除去を添加すること、及び 背後適切な操作を行いますリポジトリによってカプセル化されたマッピングコードすることができます。 概念的には、リポジトリ は、データストア内で永続化されたオブジェクトのセットとそれらの上で実行される操作をカプセル化し、永続性レイヤのオブジェクト指向ビュー を提供します。リポジトリは、ドメイン とデータマッピング層との間で明確な分離と片方向の依存性を達成するという目的もサポートしています( )。

リポジトリのパターンについてのより詳細な議論についてはさらに読書


、あなたはPatterns of Enterprise Application Architecture(ファウラー、2002)とDomain Driven Design(エヴァンス、2003年)を見てみる必要があります。

+1

あなたの答えと指針に感謝します。 – CuriousMind

関連する問題