architecture-paradigms について
architecture-paradigmsは、システムのニーズや背景に応じてアーキテクチャパラダイムを選び、対応する実装スキルへ案内します。テスト容易性、チームの自律性、柔軟性、複雑さなどを検討し、DDDと構造パラダイムの違いも説明します。
主な機能
- 01状況に応じたパラダイムの案内
- 02ニーズとシステム背景の評価
- 03DDDと構造パラダイムの区別
- 04パラダイム別の実装スキルへの案内
- 05ADRと実装計画の支援
活用シーン
- 01新しいシステムの方式選定
- 02リファクタリングの目標方式選定
- 03ADRや実装計画の準備
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ athola/ claude-night-market --skill architecture-paradigmsインストール後、Claude Code で/architecture-paradigmsを入力して読み込まれたか確認します。
詳細
使用しない場合
- パラダイムがすでに決まっている場合は、そのパラダイムのスキルに直接進んでください
- 既存の設計をADRに照らしてレビューする場合は、
pensive:architecture-reviewを使用してください
アーキテクチャパラダイムのルーター
このスキルは、システムに適したアーキテクチャパラダイムを選択し、実装の詳細を説明する個別のパラダイムスキルへ案内します。
シナリオ別クイックルーター
ニーズに合った推奨パラダイムを選んでください。
| シナリオ | 主なパラダイム | スキルの読み込み |
|---|---|---|
| 複数のチームが関わるエンタープライズアプリ | マイクロサービスまたはモジュラーモノリス | architecture-paradigm-microservicesまたはarchitecture-paradigm-modular-monolith |
| 複雑なビジネスルールとテスト | 関数型コア、命令型シェル | architecture-paradigm-functional-core |
| リアルタイム処理/イベント処理 | イベント駆動アーキテクチャ | architecture-paradigm-event-driven |
| レガシーシステムのモダナイゼーション | ヘキサゴナル(ポート&アダプター) | architecture-paradigm-hexagonal |
| クラウドネイティブ/負荷変動の大きいワークロード | サーバーレス | architecture-paradigm-serverless |
| ETL/データ処理パイプライン | パイプラインアーキテクチャ | architecture-paradigm-pipeline |
| シンプルなCRUDアプリ | レイヤードアーキテクチャ | architecture-paradigm-layered |
| コマンドとクエリの分離 | CQRSとイベントソーシング | architecture-paradigm-cqrs-es |
| モデル化する複雑なビジネスルール | ドメイン駆動設計 | architecture-paradigm-domain-driven |
この中で1つだけ、ほかとは異なるものがあります。 ドメイン駆動設計が答えるのは、「概念は何か、何と呼ぶか」です。それ以外が答えるのは、「コードをどこに配置するか」です。DDDは構造的なパラダイム(一般的にはレイヤード、ヘキサゴナル、またはモジュラーモノリス)と組み合わせて使われ、これらと競合するものではありません。そのため、DDDを選択しても、ほかのパラダイムを選ばないことにはなりません。
3ステップの選択ワークフロー
ステップ1:ニーズを定義する
主な関心事項(該当するものをすべて選択してください):
- テスト容易性:ビジネスロジックを分離する →
functional-coreまたはhexagonal - チームの自律性:個別にデプロイする →
microservicesまたはmodular-monolith - インフラの柔軟性:データベース/フレームワークを切り替える →
hexagonal - リアルタイムのスケーリング:イベントによる負荷変動に対応する →
event-drivenまたはspace-based - シンプルさ:複雑にせず保守しやすくする →
layeredまたはmodular-monolith - レガシーシステムとの統合:既存システムと連携する →
hexagonalまたはmicrokernel
システムのコンテキスト:
- チームの規模:
< 5→ レイヤード/関数型コア |5-15→ モジュラーモノリス |15-50→ マイクロサービス |50+→ マイクロサービス/スペースベース - ドメインの複雑さ:
Simple→ レイヤード |Moderate→ ヘキサゴナル/モジュラーモノリス |Complex→ 関数型コア/CQRS |Highly Complex→ マイクロサービス/イベント駆動
ステップ 2:パラダイムを評価する
ステップ 1 で整理したニーズに基づいて、次の選択肢を確認してください。
テスト容易性とビジネスロジック
architecture-paradigm-functional-coreを読み込みます — ビジネスロジックをインフラストラクチャから分離しますarchitecture-paradigm-hexagonalを読み込みます — ドメインとインフラストラクチャの境界を明確にします
チームの自律性
architecture-paradigm-microservicesを読み込みます — 独立したデプロイとスケーリングを実現しますarchitecture-paradigm-modular-monolithを読み込みます — 分散システムの複雑さを伴わずに、チームの自律性を実現します
インフラストラクチャの柔軟性
architecture-paradigm-hexagonalを読み込みます — ドメインを変更せずに、インフラストラクチャを入れ替えられます
シンプルさと保守性
architecture-paradigm-layeredを読み込みます — シンプルで、広く理解されている分離方式です
豊富なビジネスルール
architecture-paradigm-domain-drivenを読み込みます — ビジネスを独自の言語でモデル化します。上記から選んだ構造パラダイムと組み合わせてください。このパラダイムは、構造パラダイムの代わりにはなりません。ドメインがフォームに対する CRUD にすぎず、モデルが新しい名前を付けたスキーマにしかならない場合は、使用しないでください。
リアルタイムのイベント処理
architecture-paradigm-event-drivenを読み込みます — スケーラブルで疎結合な処理を実現しますarchitecture-paradigm-space-basedを読み込みます — インメモリデータグリッドによって、線形スケーラビリティを実現します
レガシーシステムとの統合
architecture-paradigm-microkernelを読み込みます — 拡張可能なプラットフォーム向けのプラグインアーキテクチャですarchitecture-paradigm-hexagonalを読み込みます — 外部システム向けのアダプターを提供します
ステップ 3:実装用のパラダイムスキルを読み込む
パラダイムを選択したら、詳しいガイダンスを得るために、該当するスキルを読み込みます。
# Example: You selected Hexagonal Architecture
Skill(archetypes:architecture-paradigm-hexagonal)
各パラダイムスキルには、次の内容が含まれています。
- ✅ 完全な実装ガイド
- ✅ ADR テンプレート
- ✅ 移行チェックリスト
- ✅ コード例
- ✅ テスト戦略
- ✅ リスク評価
利用可能なパラダイムスキル
| パラダイム | 複雑さ | チーム規模 | 最適な用途 | スキル名 |
|---|---|---|---|---|
| 関数型コア | 中 | 小規模~大規模 | 複雑なビジネスロジック | architecture-paradigm-functional-core |
| ヘキサゴナル | 中 | 小規模~大規模 | インフラストラクチャの変更 | architecture-paradigm-hexagonal |
| レイヤード | 低 | 小規模~中規模 | シンプルなドメイン | architecture-paradigm-layered |
| モジュラーモノリス | 中 | 中規模~大規模 | 進化するシステム | architecture-paradigm-modular-monolith |
| マイクロサービス | 高 | 大規模 | 複雑なドメイン | architecture-paradigm-microservices |
| イベント駆動 | 高 | 中規模~大規模 | リアルタイム処理 | architecture-paradigm-event-driven |
| CQRS と ES | 高 | 中規模~大規模 | 監査証跡 | architecture-paradigm-cqrs-es |
| サービスベース | 中 | 中規模 | 粗粒度のサービス | architecture-paradigm-service-based |
| サーバーレス | 中 | 小規模~中規模 | クラウドネイティブ/バースト処理 | architecture-paradigm-serverless |
| マイクロカーネル | 中 | 小規模~中規模 | プラグインシステム | architecture-paradigm-microkernel |
| スペースベース | 高 | 大規模 | 線形スケーラビリティ | architecture-paradigm-space-based |
| パイプライン | 低 | 小規模~中規模 | ETL ワークフロー | architecture-paradigm-pipeline |
| クライアントサーバー | 低 | 小規模 | 従来型アプリ | architecture-paradigm-client-server |
| ドメイン駆動設計 | 中 | 小規模~大規模 | 豊富なビジネスルール(上記のパラダイムと組み合わせて使用) | architecture-paradigm-domain-driven |
他のスキルとの連携
- アーキテクチャレビュー:まずこのスキルを使ってパラダイムを選択し、その後
/architecture-reviewで評価します - 実装計画:ここでパラダイムを選択し、その後
/writing-plansでタスクの詳細な内訳を作成します - リファクタリング:ここで目標とするパラダイムを特定し、その後、パラダイム固有のスキルを使って移行戦略を立てます
完了条件
- 明確な根拠に基づき、少なくとも 1 つのパラダイムを選択している
- 詳しいガイダンスを得るために、該当するパラダイムスキルを読み込んでいる
- ADR または実装計画を作成する準備ができている
次のステップ
- 特定のパラダイムスキルを読み込む -
Skill(archetypes:architecture-paradigm-NAME)を使用します - ADR を作成する - パラダイムの ADR テンプレートを使用します
- 実装計画を作成する - パラダイムの移行チェックリストを使用します
- モニタリングを設定する - パラダイムのガイダンスに沿って成功指標を追跡します
コメント
Markdown 対応