ページ内ナビ
概要
MediatRは、.NETアプリケーション内で要求とその処理担当を直接結び付けずに取り次ぐライブラリです。要求/応答、コマンド、クエリ、通知、イベントを同期・非同期で扱い、Microsoft.Extensions.DependencyInjectionへハンドラーを登録できます。アプリ内の処理境界を整理したいときに、軽量な仲介層として使えます。
特徴と向いている用途
公式資料に基づく紹介・実機未検証 · 内容確認日:
主な特徴
要求/応答と複数宛ての通知を同じ抽象化で扱う
要求/応答、コマンド、クエリに加え、複数の処理担当へ届ける通知とイベントを扱えます。同期処理と非同期処理、C#のジェネリック変性を利用した振り分けに対応し、呼び出し側は具体的なハンドラーを直接参照せずに処理を依頼できます。
出典:[1]
DI登録とパイプライン動作で横断処理を組み込む
Microsoft.Extensions.DependencyInjectionへ直接登録でき、指定したアセンブリから要求・通知・ストリームのハンドラーを検出します。パイプライン動作、ストリーム用動作、前処理・後処理、例外処理も登録できるため、検証やログなどの横断処理を個々のハンドラーから分離できます。
出典:[1]
向いている用途
アプリ内の機能境界を保ちながら処理を追加・交換したい場合に向く
Web APIや業務アプリで、コントローラーや画面からユースケースを直接呼び出す依存を減らしたい場合に向きます。コマンドとクエリを分ける設計、複数ハンドラーへ同じ通知を届ける処理、検証や監査を共通パイプラインへ集約する構成の候補になります。
導入前の確認
参考にした公式資料
- [1]LuckyPennySoftware/MediatR — README at v14.2.0(2026-10-04)
- [2]LuckyPennySoftware/MediatR — LICENSE at v14.2.0(2026-10-04)
- [3]MediatR v14.2.0 release(2026-10-04)
編集部からの補足
依存を減らす効果だけでなく、処理の流れが抽象化の背後へ隠れすぎないかも比較の要点です。特にv14系では、技術面と同時に現在のライセンス条件を導入審査へ含めてください。
3ステップで試す
- 1
v14.2.0のソースを取得する
固定タグから公式サンプルを取得します。
git clone --branch v14.2.0 --depth 1 https://github.com/LuckyPennySoftware/MediatR.git - 2
リポジトリへ移動する
ASP.NET Core DIサンプルを含むルートへ移動します。
cd MediatR - 3
DIサンプルを実行する
.NET 10 SDKでnet10.0の公式ASP.NET Coreサンプルをビルドし、要求、通知、パイプライン、ストリームの出力を確認します。
dotnet run --project samples/MediatR.Examples.AspNetCore/MediatR.Examples.AspNetCore.csproj
成長
成長の推移 · 直近30日
11,856 Stars
推移データを蓄積中です。
開発アクティビティ
直近90日・週次
- Commit(直近30日)
- 0
- Open PR
- 0
開発アクティビティを蓄積中です。
Built with
カテゴリとタグ
カテゴリ
GitHubデータ
関連情報
関連記事を投稿するこのOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。
あわせて探訪
- SWR32,488 Stars
共通タグ 1件 · 共通カテゴリ 1件
Reactのリモートデータ取得をキャッシュし、再検証と重複排除までHookで管理する
TypeScript - Pydantic28,935 Stars
共通タグ 1件 · 共通カテゴリ 1件
Python type hintsをruntime validationへつなぐ
Python - OpenAPI Generator26,771 Stars
共通タグ 1件 · 共通カテゴリ 1件
OpenAPI contractからclient SDK・server stub・documentationを多数のlanguage/frameworkへ生成するcode generator
Java - Actix Web24,853 Stars
共通タグ 1件 · 共通カテゴリ 1件
RustでHTTP APIやWebSocketを高性能に構築し、Tokio上で非同期Webサーバーを動かす
Rust - Alamofire42,406 Stars
共通タグ 1件 · 共通カテゴリ 2件
SwiftのHTTP通信をURLSession上で簡潔に組み立て、retry・upload・download・TLS pinningまで統合する
Swift - tRPC40,686 Stars
共通タグ 1件 · 共通カテゴリ 2件
サーバーとクライアントの型をつなぎ、API変更の食い違いを開発中に見つける
TypeScript
情報の誤りを報告
掲載内容に誤りや古い情報があればお知らせください。