mcpField
D
design-patterns-implementation

design-patterns-implementation

github.com/aj-geddes開発373597 回インストール34 週間前に更新
リポジトリ

design-patterns-implementation について

保守性、拡張性、テスト容易性の高い設計に向けて、定番のデザインパターンを適用するスキルです。アーキテクチャ上の課題やコンポーネントの分離、コードレビューに取り組む開発者向けに、7種類のパターンと実践指針をまとめています。

主な機能

  1. 017種類のデザインパターンガイド
  2. 02TypeScriptの実装例
  3. 03SOLIDと依存性注入の指針
  4. 04過剰設計を避けるための助言

活用シーン

  1. 01よくあるアーキテクチャ課題の解決
  2. 02拡張可能なプラグインシステムの設計
  3. 03コードのテスト容易性と保守性の向上

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/aj-geddes/useful-ai-prompts --skill design-patterns-implementation

インストール後、Claude Code で/design-patterns-implementationを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
decorator-pattern.md
dependency-injection.md
factory-pattern.md
observer-pattern.md
repository-pattern.md
singleton-pattern.md
strategy-pattern.md
scripts/
scaffold-tests.sh
templates/
test-template.js

詳細

デザインパターンの実装

目次

概要

実績のあるデザインパターンを適用して、保守性、拡張性、テスト性に優れたコードアーキテクチャを作成します。

使用する場面

  • よくあるアーキテクチャ上の問題を解決するとき
  • コードの保守性とテスト性を高めるとき
  • 拡張可能なプラグインシステムを実装するとき
  • コンポーネントを疎結合にするとき
  • SOLID 原則に従うとき
  • コードレビューでアーキテクチャ上の問題が見つかったとき

クイックスタート

最小限の動作例:

class DatabaseConnection {
  private static instance: DatabaseConnection;
  private connection: any;

  private constructor() {
    this.connection = this.createConnection();
  }

  public static getInstance(): DatabaseConnection {
    if (!DatabaseConnection.instance) {
      DatabaseConnection.instance = new DatabaseConnection();
    }
    return DatabaseConnection.instance;
  }

  private createConnection() {
    return {
      /* connection logic */
    };
  }
}

// Usage
const db1 = DatabaseConnection.getInstance();
const db2 = DatabaseConnection.getInstance();
// ... (see reference guides for full implementation)

リファレンスガイド

references/ ディレクトリにある詳細な実装:

ガイド内容
シングルトンパターンシングルトンパターン
ファクトリーパターンファクトリーパターン
オブザーバーパターンオブザーバーパターン
ストラテジーパターンストラテジーパターン
デコレーターパターンデコレーターパターン
リポジトリーパターンリポジトリーパターン
依存性注入依存性注入

ベストプラクティス

✅ 推奨事項
  • 実際の問題を解決するパターンを選びます
  • パターンをシンプルで理解しやすい状態に保ちます
  • パターンを選んだ理由を文書化します
  • テストのしやすさを考慮します
  • SOLID 原則に従います
  • 依存性注入を使用します
  • 継承よりもコンポジションを優先します
❌ 避けるべきこと
  • 理解せずにパターンを適用する
  • シンプルな解決策を過剰に複雑化する
  • 適さない場面でパターンを無理に適用する
  • 不要な抽象化レイヤーを作成する
  • チームのパターンへの習熟度を無視する

コメント