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_matrix
-
catalog/DECISION_FLOWCHART.md
-
パターン選択アルゴリズム