このリポジトリは、CQRS(コマンドクエリ責任の分離)およびMediATRパターンに焦点を当てたASP.NETコアを使用した単純なブログプラットフォームの実装を示しています。このアプリケーションには、清潔なアーキテクチャアプローチを順守するための投稿とカテゴリの基本的なCRUD操作が含まれています。
CQRSパターンは、読み取り操作を分離し、アプリケーションのスケーラビリティと保守性を高めるために採用されています。クエリは読み取り操作を処理するために使用され、コマンドは書き込み操作を処理します。
MediATRは、メディエーターパターンを実装することにより、アプリケーションレイヤーを切り離すために使用されます。これにより、リクエストと通知が中央の調停者を介して処理され、単一の責任の原則へのゆるい結合と順守を促進することが保証されます。
エンティティフレームワークコアは、データベース操作のORM(オブジェクト関連マッパー)として利用されます。コンテキストは、必要に応じて関連エンティティを含めるようにオプションを備えたSQL Serverを使用するように構成されています。
AutomApperは、オブジェクトオブジェクトマッピングを処理するために統合されており、ドメインモデルとビューモデル間の変換を簡素化します。
次のようなコアエンティティとインターフェイスが含まれています。
Post 、 CategoryIAsyncRepository 、 IPostRepository以下を含むビジネスロジックが含まれています
CreatePostCommand新しい投稿を作成するために必要なデータとロジックを定義します。GetPostsListQuery投稿のリストを取得するために必要なデータとロジックを定義します。エンティティフレームワークコアを使用してリポジトリパターンの実装が含まれています。
PostDbのEFコアデータベースコンテキスト。IAsyncRepositoryおよびIPostRepositoryの具体的な実装。コントローラーを含むアプリケーションのエントリポイントとメインプログラムのセットアップ。サービス、ミドルウェア、およびルーティングを構成します。
FluentValidationは、コマンドのデータの整合性と検証ロジックを確保するために使用されます。