dotnet-backend-patterns
本番対応.NETバックエンドの構築
.NETバックエンドの開発には、非同期パターン、依存性注入、データベースアクセス戦略の理解が必要です。このスキルは、保守性、テスト可能性、パフォーマンスに優れたAPIを構築するための実証済みのテンプレートとベストプラクティスを提供します。
スキルZIPをダウンロード
Claudeでアップロード
設定 → 機能 → スキル → スキルをアップロードへ移動
オンにして利用開始
テストする
「dotnet-backend-patterns」を使用しています。 Resultパターンとキャッシングを使用して商品サービスを生成する
期待される結果:
- Success/Failure静的メソッドを持つResult<T>パターン
- キャッシュアサイドパターン用のICacheService依存関係
- リクエスト検証用のFluentValidation統合
- 適切なログレベルでのILogger注入
- すべての非同期メソッドでのCancellationToken伝達
- リポジトリパターンでのソフトデリートサポート
「dotnet-backend-patterns」を使用しています。 パラメータライズドクエリを使用してDapperでユーザーリポジトリを作成する
期待される結果:
- ファクトリパターンを通じたIDbConnection注入
- @Id、@SearchTermプレースホルダーを持つパラメータライズドSQL
- 单一のレコード用のQueryFirstOrDefaultAsync
- DynamicParametersを持つ複数の結果用のQueryAsync
- マルチステートメント操作のトランザクションサポート
「dotnet-backend-patterns」を使用しています。 支払いサービスの依存性注入を設定する
期待される結果:
- 支払い処理サービスのスコープ付きライフタイム
- IOptions<PaymentOptions>構成バインディング
- IHttpClientFactoryを通じたHttpClient登録
- Redis用の 싱글톤ConnectionMultiplexer
- 複数の支払いプロバイダー用のキー付きサービス
セキュリティ監査
安全This is a pure documentation and code template skill containing only educational C#/.NET patterns. Static findings are 100% false positives caused by the scanner misidentifying: (1) markdown code fences as Ruby backticks, (2) SQL/database patterns as cryptographic terms, (3) standard C# namespace imports as reconnaissance. No executable code, network calls, file system access, or command execution exists. All content is static educational material.
リスク要因
⚙️ 外部コマンド (85)
🌐 ネットワークアクセス (1)
📁 ファイルシステムへのアクセス (5)
品質スコア
作れるもの
API開発
適切なエラー処理と検証を使用して、Minimal APIエンドポイントでRESTful APIを設計および実装します
データアクセスレイヤー
複雑なドメインにはEF Core、パフォーマンスが重要なクエリにはDapperを使用してリポジトリレイヤーを構築します
テスト戦略
モックされた依存関係とテストデータベースに対する統合テストを使用して、包括的なテストスイートを記述します
これらのプロンプトを試す
CRUD操作を持つ[EntityName]のサービスを、Resultパターン、依存性注入、検証を使用して作成します。キャッシュアサイドパターンと適切なエラー処理を含めてください。
[Dapper/EF Core]を使用して[EntityName]のリポジトリを生成し、検索、ページング、バルク操作の非同期メソッドを含めます。パラメータライズドクエリと適切な接続処理を含めてください。
[ServiceName]のサービス登録を、適切なライフタイム(スコープ付き/ 싱글톤/トランジェント)、IOptions設定、必要に応じてキー付きサービスを含めて記述します。
Moqを使用して[ServiceName]のxUnitテストを記述します。正常系、検証失敗、エラーシナリオを含めます。FactおよびTheory属性と適切なアサーションを使用してください。
ベストプラクティス
- 非同期コードをコールスタック全体で一貫して使用し、常に非同期メソッドにCancellationTokenを渡してください
- ビジネスロジックの失敗には例外よりもResult<T>を優先し、API境界で入力を検証してください
- 読み取り専用クエリにはAsNoTracking()を使用し、必要な列のみを選択してメモリ使用量を削減してください
回避
- .Resultや.GetAwaiter().GetResult()で非同期コードをブロックするとデッドロックが発生するため、決してブロックしないでください
- API応答でEFエンティティを直接公開しないでください - データ変換にはDTOを使用してください
- SQLクエリに文字列連結は使用しないでください - 常にパラメータライズドクエリを使用してインジェクションを防止してください