- Claude Codeはデザインパターンの適用判断からコード生成まで一貫して対応可能
- 実務で頻出するStrategy・Observer・Factory・Adapter・Decoratorの実装をプロンプト例付きで紹介
- CLAUDE.mdにパターン規約を定義することでチーム全体の設計品質を底上げできる
デザインパターンは理解していても、実務で「どのパターンをいつ適用すべきか」の判断に迷うことはありませんか。結論から言うと、Claude Codeを活用すれば、パターン適用の判断からコード生成、テスト作成まで一気に効率化できます。
この記事はClaude Code完全攻略シリーズの第32回として、実務で使えるデザインパターン実装テクニックをプロンプト例付きで解説します。
- Claude Code × デザインパターンの相性が良い理由
- 実務頻出パターンTOP5の実装プロンプト
- レガシーコードのリファクタリング手法
- CLAUDE.mdでチーム設計規約を運用する方法
Claude Code × デザインパターンが相性抜群な理由
パターン適用の判断をAIに委ねるメリット
デザインパターンの最大の難所は「どの場面でどのパターンを使うか」という判断です。Claude Codeは以下の点で優れています。
- コードベース全体を理解した上で提案:単一ファイルではなくプロジェクト全体を読み取り、最適なパターンを提案
- 過度な抽象化を防ぐ:YAGNI原則に基づき、本当に必要なパターンだけを適用
- テスト付きで実装:パターン適用後の動作確認まで一括生成
既存コードのパターン分析
Claude Codeに既存コードを分析させるプロンプト例:
このプロジェクトのsrc/ディレクトリを分析して、以下を教えてください:
1. すでに使われているデザインパターン
2. 適用すべきなのに未適用のパターン
3. 各提案の優先度(High/Medium/Low)と理由
実務で頻出するデザインパターンTOP5をClaude Codeで実装
Strategy パターン(振る舞いの切り替え)
ユースケース:支払い方法の切り替え、ソートアルゴリズムの切り替えなど
src/services/payment.ts に Strategy パターンを適用してください。
現在のif-else分岐をStrategy化し、新しい支払い方法を追加しやすくしてください。
各Strategyクラスにユニットテストも作成してください。
Claude Codeは現在のコードを読み取り、適切なインターフェース定義からStrategyクラスの実装、既存コードの書き換え、テストコードの生成まで一括で行います。
Observer パターン(イベント駆動設計)
ユースケース:通知システム、UIの状態管理、ログ出力
src/models/Order.ts の注文ステータス変更をObserverパターンで実装してください。
ステータスが変わったら、メール通知・Slack通知・ログ記録の3つのObserverに
通知する設計にしてください。新しいObserverの追加が容易な構成で。
Factory パターン(オブジェクト生成の抽象化)
ユースケース:データベース接続、APIクライアント、レポート生成
src/database/ にAbstract Factoryパターンを適用してください。
MySQL・PostgreSQL・SQLiteの接続を環境変数で切り替え可能にし、
各DBクラスのインターフェースを統一してください。
Adapter パターン(レガシーAPI統合)
ユースケース:外部APIの統合、レガシーシステムとの接続
外部の決済API(Stripe・PayPay・LINE Pay)をAdapterパターンで統合してください。
src/adapters/ に各決済サービスのAdapterを作成し、
共通のPaymentGatewayインターフェースで操作できるようにしてください。
Decorator パターン(機能の動的追加)
ユースケース:ロギング追加、キャッシュ層の挿入、認証チェック
src/services/api-client.ts にDecoratorパターンを適用してください。
ベースのAPIクライアントに、ロギング・キャッシュ・リトライの機能を
Decoratorとして動的に追加できる設計にしてください。

Claude Codeプロンプトテンプレート集:パターン実装編
パターン適用判断プロンプト
以下のコードにデザインパターンを適用すべきか判断してください。
判断基準:
- 現在の複雑度(循環的複雑度を計測)
- 今後の変更可能性
- テストのしやすさ
- チームメンバーの理解しやすさ
適用する場合は具体的なパターンと理由、しない場合もその理由を説明してください。
リファクタリング指示プロンプト
src/controllers/UserController.ts をリファクタリングしてください。
条件:
1. 適切なデザインパターンを選定・適用
2. SOLID原則に準拠
3. 既存のテストが壊れないこと
4. 変更差分をgit diffで確認可能な粒度で段階的に
テスト付き実装プロンプト
[パターン名]パターンを使って[機能]を実装してください。
要件:
- TypeScript + Jest でユニットテストを同時生成
- テストカバレッジ80%以上
- エッジケース(null、空配列、異常系)のテストを含む
これらのプロンプトテクニックについては「Claude Codeプロンプトエンジニアリング」でさらに詳しく解説しています。
レガシーコードをデザインパターンでリファクタリング
God Classの分解手順
God Class(巨大なクラス)を分解するClaude Codeプロンプト:
src/services/AppManager.ts は1500行のGod Classになっています。
以下の手順で分解してください:
1. 責務を分析して独立可能なドメインを特定
2. 各ドメインをFacadeパターンで統合しつつ分離
3. 段階的にリファクタリング(一度に全部変えない)
4. 各ステップで既存テストが通ることを確認
密結合コードの疎結合化
src/modules/ 配下のモジュール間の依存関係を分析し、
Dependency Injection + Mediatorパターンで疎結合化してください。
循環依存がある場合は指摘した上で解決策を実装してください。
リファクタリングの詳細手法は「Claude Codeリファクタリングガイド」で紹介しています。
Claude Codeでアーキテクチャ設計を支援させる
CLAUDE.mdにパターン規約を定義する方法
チームでの設計品質を統一するために、CLAUDE.mdにデザインパターンの規約を記述しましょう。
## デザインパターン規約
- 分岐が3つ以上 → Strategyパターンを検討
- 外部サービス連携 → Adapterパターンを必須適用
- 状態変更の通知 → Observerパターンを使用
- オブジェクト生成のロジックが複雑 → Factoryパターン
- 機能の動的追加 → Decoratorパターン
## アンチパターン
- God Class: 300行を超えたら分割を検討
- Singleton乱用: DIコンテナを使う
- 過度な抽象化: 今必要ないパターンは適用しない(YAGNI)
コードレビューでパターン違反を自動検出
Claude Codeをコードレビューに活用すれば、パターン規約からの逸脱を自動で検出できます。
CLAUDE.mdのデザインパターン規約に基づいて、このPRのコードをレビューしてください。
規約違反があれば指摘し、具体的な修正案を提示してください。
コードレビューの詳細は「Claude Codeコードレビューガイド」をご覧ください。
まとめ:AIでデザインパターンの学習と実装を加速
Claude Codeを使うことで、デザインパターンの学習・判断・実装・検証のすべてのフェーズが加速します。
- 学習:既存コードのパターン分析を通じて、実践的に理解を深められる
- 判断:コードベース全体を考慮した適切なパターン選定が可能
- 実装:テスト付きのコードを一括生成し、開発速度を大幅に向上
- 検証:CLAUDE.mdの規約に基づくコードレビューで品質を担保
デザインパターンをマスターしたエンジニアは、SES現場でも設計フェーズから参画でき、単価アップにもつながります。Claude Codeを活用して、効率的にスキルを磨いていきましょう。
SES BASEで設計スキルを活かせる案件を探す
アーキテクチャ設計やリファクタリングの経験を活かせるSES案件をSES BASEで検索してみてください。