VSA Pattern Selector
このスキルは、Blazor VSA パターンカタログからの適切なパターン選択を支援する。
機能の設計・実装時に、適切なパターンを自動的に提案する。
パターン選択フローチャート
ユーザーの要求を分析
↓
【STEP 1】カテゴリを特定
├─「〇〇機能を作って」「〇〇画面を追加」
│ → Feature Slices(垂直スライス)
│
├─「すべての Command に〇〇」「システム全体で〇〇」
│ → Pipeline Behaviors(横断的関心事)
│
├─「一覧を取得」「検索」「レポート」
│ → Query Patterns
│
├─「状態遷移」「操作可否」「型安全 ID」
│ → Domain Patterns
│
├─「同時実行制御」「トランザクション保証」
│ → Infrastructure Patterns
│
└─「UI 状態管理」「リアルタイム更新」
→ UI Patterns
【STEP 2】具体的なパターンを選択(下記テーブル参照)
【STEP 3】パターン YAML を読む
→ catalog/features/*.yaml または catalog/patterns/*.yaml
迷った場合: feature-slice をデフォルトで選択
Feature Slices(垂直スライス)
完全な機能を縦に実装するパターン。最も頻繁に使用。
| パターン ID | 用途 | トリガーフレーズ | |------------|------|-----------------| | feature-create-entity | エンティティ作成 | 「〇〇を作成」「新規登録」「追加」 | | feature-search-entity | 検索・一覧表示 | 「〇〇を検索」「一覧画面」「フィルタ」 | | feature-update-entity | エンティティ更新 | 「〇〇を編集」「更新」「変更」 | | feature-delete-entity | エンティティ削除 | 「〇〇を削除」「消す」「除去」 | | feature-import-csv | CSV インポート | 「CSV を取り込む」「一括登録」 | | feature-export-csv | CSV エクスポート | 「CSV に出力」「ダウンロード」 | | feature-approval-workflow | 承認ワークフロー | 「承認」「稟議」「ワークフロー」 |
Query Patterns(データ取得)
| パターン ID | 用途 | トリガーフレーズ | |------------|------|-----------------| | query-get-list | 全件/一覧取得 | 「一覧を取得」「リスト」 | | query-get-by-id | ID 指定取得 | 「ID で取得」「詳細表示」 | | query-get-by-period | 期間指定取得 | 「今日/今週/期間」「日付範囲」 | | complex-query-service | 複合条件クエリ | 「空き検索」「NOT EXISTS」「未割当」 |
Domain Patterns(ドメインモデル)
| パターン ID | 用途 | トリガーフレーズ | |------------|------|-----------------| | boundary-pattern | 操作可否判定 | 「〇〇できるか」「権限チェック」「優先権」 | | domain-state-machine | 状態遷移 | 「ステータス」「状態遷移」 | | domain-validation-service | 業務ルール検証 | 「重複チェック」「〜のみ可能」「前提条件」 | | domain-typed-id | 型安全 ID | 「強い型付け」「ProductId」 | | domain-timeslot | 時間枠管理 | 「予約時間」「タイムスロット」 | | domain-ordered-queue | 順序付きキュー | 「順番」「キュー」「Position」「Ready 状態」 |
Pipeline Behaviors(横断的関心事)
| 順序 | パターン ID | 用途 | トリガーフレーズ | |:---:|------------|------|-----------------| | 100 | validation-behavior | 入力検証 | 「バリデーション」 | | 200 | authorization-behavior | 認可チェック | 「権限」「ロール」 | | 350 | caching-behavior | キャッシュ | 「キャッシュ」「高速化」 | | 400 | transaction-behavior | トランザクション | 「トランザクション」 | | 550 | audit-log-behavior | 監査ログ | 「監査」「履歴」「証跡」 |
Infrastructure Patterns
| パターン ID | 用途 | トリガーフレーズ | |------------|------|-----------------| | concurrency-control | 同時実行制御 | 「楽観ロック」「悲観ロック」「ダブルブッキング」 |
条件付き必読パターン
特定の条件下で 必ず読むべき パターン。
| 条件 | 必読パターン | 理由 | |------|-------------|------| | UI がある | boundary-pattern | AI バイアスで忘却されやすい | | 状態遷移がある | domain-state-machine | 遷移制約の明確化 | | 重複チェックがある | domain-validation-service | 複数エンティティの検証 | | 予約/ダブルブッキング | concurrency-control | 同時実行制御が必須 | | 順番管理がある | domain-ordered-queue | Position 管理(FR-018 対策) | | 「〜のみ可能」 | domain-validation-service | 複合前提条件(FR-017 対策) | | 優先権のある操作 | boundary-pattern | Ready 状態の優先権(FR-021 対策) |
ドメイン別推奨パターン
図書館・貸出管理
- audit-log-behavior(貸出・返却履歴)
- concurrency-control(同時貸出防止)
- domain-ordered-queue(予約順番管理)★FR-018
- domain-validation-service(全コピー貸出中のみ予約可能)★FR-017
- boundary-pattern(Ready 予約者の優先権)★FR-021
金融・決済
- audit-log-behavior(決済履歴)
- idempotency-behavior(重複決済防止)
- concurrency-control(残高更新)
予約システム
- domain-timeslot(予約時間枠)
- complex-query-service(空き検索)
- concurrency-control(ダブルブッキング防止)
承認ワークフロー
- feature-approval-workflow(承認機能)
- domain-state-machine(承認状態遷移)
- domain-approval-history(承認履歴)
パターン YAML の読み方
各パターン YAML には以下のセクションがある:
| セクション | 内容 |
|-----------|------|
| ai_selection_hints | トリガーフレーズ、決定ロジック |
| implementation.template | コードテンプレート |
| ai_guidance.common_mistakes | 頻出ミス |
| evidence.implementation_file | 実装例ファイルパス |
参照
詳細は以下を参照:
catalog/LLM_PATTERN_INDEX.md- パターン選択早見表catalog/index.json- ai_decision_matrixcatalog/DECISION_FLOWCHART.md- パターン選択アルゴリズム
Scan to join WeChat group