1. ホーム
  2. design-patterns

[解決済み] リポジトリとサービスの違い?

2022-04-28 12:32:57

質問

リポジトリとサービスの違いは何ですか?把握できていないようです。

データアクセスレイヤーを介したデータアクセスのことで、一般的にはlinq to sqlを使用することが多いですね。

シンプルなCRUDメソッドを持つリポジトリと、よりビジネスに特化したメソッドを持つサービスをよく見かけます。

を取ることができます。 これ のブログ記事を例として挙げます。一番下のインターフェイス(画像)を見ると、彼は2つのリポジトリと2つのサービスを持っています。何をどこに置けばいいのか、どうやって知ることができるのでしょうか?

やはり、リポジトリはCRUD的な操作に、サービスはビジネス的な操作に向くようですね。

ありがとうございます。

解決方法は?

リポジトリは、基本的に パーシステンス コレクションスタイルのセマンティクス(Add, Update, Remove)を使用して、データ/オブジェクトへのアクセスを提供します。これは、データ/オブジェクトを保存する方法を、アプリケーションの他の部分から切り離す方法です。

サービスとは、アプリケーションの操作に必要な調整やその他のサービス(quot;service")を提供するものです。両者は、サービスが永続性からデータにアクセスする方法を一般的に知らないという点で非常に異なっており、リポジトリは通常、以下のようになります。 のみ は、あなたが持っているサービスのデータ/オブジェクトにアクセスすることができます。