2011-12-09 8 views
1

Fowlerの著書「エンタープライズアプリケーションアーキテクチャのパターン」には、リポジトリパターンの永続的な機能は記載されていません。 「永続的な機能」とは、エンティティを更新、保存、追加、削除する機能を意味します。一連のドメインオブジェクトに対する純粋なマッチングメカニズム。リポジトリには持続機能が必要ですか?

マイク・ハドローのブログ投稿Using the IRepository pattern with LINQ to SQLをもう一度見てみましょう。挿入や削除などの具体的な永続メソッドがあります。

リポジトリパターンはどのように実装する必要がありますか?皆さん、良い "真の"リポジトリ実装を私に教えてください。私はこのトピックについて少し不満を抱いています。

ありがとうございます!あなたの助けを願って!

+1

何が必要ですか?それを実装する。 –

+3

リポジトリは、データソースとアプリケーションの間の抽象化レイヤーにすぎません。それが持続的な機能性または読み取り機能を有するかどうか、またはその両方が関連性がない – Polity

答えて

2

リポジトリは、メモリ内のデータ収集のように機能します。あなたが選んだ命名法は、それが追加か挿入か、削除か削除か、選択か取得かは問われません。

リポジトリを2つのインタフェースに分けて、データの取得/選択のためのReadOnlyRepositoryと、データの追加/更新/削除のためのWriteRepositoryを持つことができます。それは問題ではありません。重要なことは、アプリケーションやビジネスコードがリポジトリを使用してデータをメモリに読み込んだかのようにデータをやりとりするため、ビジネスやアプリケーションのコードと混在したSQLクエリを作成する必要がないことです。

更新

我々は、パターンの話をしているので、シングル「真」のリポジトリインタフェースや実装はありません。同様のパターンに従う多くの異なる実装が存在する可能性があります。

関連する問題