𝕏 f B! L
案件・求人数 12,345
案件を探す(準備中) エージェントを探す(準備中) お役立ち情報 ログイン
案件・求人数 12,345
Claude Codeでデザインパターンを自動実装する方法

Claude Codeでデザインパターンを自動実装する方法

Claude CodeデザインパターンリファクタリングAI開発
目次
⚡ 3秒でわかる!この記事のポイント
  • 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活用マップ

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で検索してみてください。

SES案件をお探しですか?

SES記事をもっと読む →
🏗️

SES BASE 編集長

SES業界歴10年以上のメンバーが在籍する編集チーム。SES企業での営業・エンジニア経験、フリーランス独立経験を持つメンバーが、業界のリアルな情報をお届けします。

📊 業界データに基づく記事制作 🔍 IPA・経済産業省データ参照 💼 SES実務経験者が執筆・監修