調査結果: 2パターン組み合わせシリーズ企画
調査実施日: 2026年1月24日
調査者: @nqounet
対象: GoF 23パターンのうち、2つの組み合わせで相性の良いパターンとPerl初学者向け題材
エグゼクティブサマリー
主な発見
- 全23パターン使用済み: 既存シリーズで23パターンすべてが単一記事として作成済み。組み合わせは無限の可能性がある
- 有望な組み合わせ: 実務で使われている組み合わせは約8〜10種類に集約される
- Perl特有の強み: テキスト処理、パイプライン、DSL実装、CLI自動化に適している
- 楽しい題材の鍵: 「完成品を友人に見せたくなる」「遊び心」「即座に動く」の3要素
推奨アプローチ
- Builder + Strategy: 柔軟な設定システムの構築(例: 多段階検索システム、レポートジェネレーター)
- Interpreter + Composite: DSL実装(例: タスク管理DSL、シンプルな計算機)
- Decorator + Chain of Responsibility: ミドルウェアパイプライン(例: テキスト処理パイプライン、ログフィルター)
- Command + Memento: Undo/Redo機能(例: テキストエディタ、ゲームの履歴管理)
- Template Method + Factory Method: 拡張可能フレームワーク(例: プラグインシステム、レポート生成器)
1. 有望なパターン組み合わせ候補(5組)
組み合わせ1: Builder + Strategy
相性の理由
- Builder: 複雑なオブジェクトを段階的に構築する(構造の柔軟性)
- Strategy: アルゴリズムを実行時に差し替える(振る舞いの柔軟性)
- 組み合わせの効果: 構築時に使用する戦略を選択でき、同じBuilderで異なる振る舞いのオブジェクトを生成可能
典型的なユースケース
- 支払い処理システム: Builderで決済オブジェクトを構成し、手数料計算にStrategyパターンを適用(固定額、パーセンテージ、段階制など)
- データエクスポーター: Builderでエクスポート設定を構築し、出力形式(JSON、CSV、XML)をStrategyで切り替え
- HTTPクライアント: Builderでリクエストを組み立て、リトライ戦略、認証方法、キャッシュ戦略をStrategyで差し替え
Perl初学者向け題材案
案A: 多段階Web検索システム
| |
- シンプルなファイル検索から始め、徐々に戦略を追加
- 完成品: cpanモジュールのローカル検索エンジン
案B: カスタマイズ可能レポートジェネレーター
- ログファイルからレポートを生成
- フォーマット戦略: テーブル、グラフ、サマリー
- フィルタ戦略: エラーのみ、警告以上、すべて
- 完成品: サーバーログ分析ツール
「自慢できる」ポイント
- 「このツール、戦略を差し替えるだけで検索アルゴリズムが変わるんだ」
- 実用的で拡張性が高い
- デモがわかりやすい(Before/After比較が明確)
出典/参考
- GeeksforGeeks: Builder Design Pattern - https://www.geeksforgeeks.org/system-design/builder-design-pattern/
- BuildOnline: Mastering Strategy Patterns - https://www.buildonline.io/blog/mastering-strategy-patterns-build-scalable-and-flexible-architectures
- MomentsLog: Builder Pattern in Complex System Configuration - https://www.momentslog.com/development/design-pattern/the-builder-pattern-in-complex-system-configuration-for-flexible-setup
信頼度
9/10 - 実務での採用事例が豊富。Perlでの実装も自然。
組み合わせ2: Interpreter + Composite
相性の理由
- Composite: ツリー構造で葉(Leaf)と複合(Composite)を統一的に扱う
- Interpreter: 言語の文法を定義し、構文木を解釈する
- 組み合わせの効果: DSL(ドメイン固有言語)の実装に最適。Compositeで抽象構文木(AST)を構築し、Interpreterで評価
典型的なユースケース
- 数式評価器:
2 + (x * 3)のような式を構文木で表現し、変数を解決して計算 - クエリビルダーDSL:
WHERE (age > 18 AND status = 'active') OR role = 'admin'のような複雑な条件を表現 - タスク管理DSL:
task "Deploy" depends_on "Build", "Test"のような宣言的記述
Perl初学者向け題材案
案A: シンプルな計算機DSL
| |
- 第1回: 数値と足し算だけ
- 第2回: 掛け算と括弧
- 第3回: 変数のサポート
- 完成品: 簡易電卓+変数対応
案B: タスク管理DSL
| |
- rakeやmakeのようなタスクランナー
- Composite: タスクの依存関係ツリー
- Interpreter: タスクの実行
- 完成品: 簡易タスクランナー
「自慢できる」ポイント
- 「自分専用のミニ言語を作った!」
- コンパイラ/インタプリタの仕組みが理解できる
- デモが派手(独自の構文を実行できる)
出典/参考
- GeeksforGeeks: Interpreter Design Pattern - https://www.geeksforgeeks.org/system-design/interpreter-design-pattern/
- DeepWiki: Interpreter Pattern in DSLs - https://deepwiki.com/tusharjoshi/design-patterns-workshop/4.3.4-interpreter-pattern
- MomentsLog: Interpreter Pattern in Custom DSLs - https://www.momentslog.com/development/design-pattern/the-interpreter-pattern-in-custom-domain-specific-languages-for-specialized-parsing
信頼度
10/10 - コンパイラ設計の標準的アプローチ。教育的価値が非常に高い。
組み合わせ3: Decorator + Chain of Responsibility
相性の理由
- Decorator: オブジェクトに動的に機能を追加(ラップ)
- Chain of Responsibility: リクエストをハンドラのチェーンで処理、途中で停止可能
- 組み合わせの効果: ミドルウェアパイプラインの実装。各層が処理を追加し、必要に応じて短絡(short-circuit)可能
典型的なユースケース
- Webミドルウェア: 認証→ログ→圧縮→レスポンス の順に処理、認証失敗で停止
- テキスト処理パイプライン: 入力→正規化→フィルタ→変換→出力
- ログフィルタ: DEBUG→INFO→WARN→ERROR のレベルごとに処理
Perl初学者向け題材案
案A: テキスト処理パイプライン
| |
- 各ステップで文字列を加工
- エラーハンドリングで途中停止
- 完成品: テキストマイニング前処理ツール
案B: ログ集約・フィルタリングシステム
| |
- 第1回: 単純なログ出力
- 第2回: Decoratorで装飾追加
- 第3回: Handlerチェーンで条件処理
- 完成品: 多機能ロガー
「自慢できる」ポイント
- 「Expressjs/ASP.NET Coreのミドルウェアと同じ仕組みを自作した」
- Unix哲学(パイプライン)をOOPで再現
- 実用性が高く、仕事でも使える
出典/参考
- Baeldung: Pipeline Design Pattern in Java - https://www.baeldung.com/java-pipeline-design-pattern
- StackOverflow: Chain of Responsibility vs Decorator - https://stackoverflow.com/questions/3721256/design-patterns-chain-of-resposibility-vs-decorator
- Ajit Singh: Chain of Responsibility Design Pattern - https://singhajit.com/design-patterns/chain-of-responsibility/
信頼度
10/10 - モダンWebフレームワークの核心的パターン。Perlとの相性も抜群。
組み合わせ4: Command + Memento
相性の理由
- Command: アクションをオブジェクトとしてカプセル化(実行、取り消し可能)
- Memento: オブジェクトの状態を保存・復元
- 組み合わせの効果: Undo/Redo機能の実装。Commandが実行前の状態をMementoに保存
典型的なユースケース
- テキストエディタ: 編集操作のUndo/Redo
- ゲームエンジン: プレイヤーの行動履歴と巻き戻し
- トランザクション管理: 複数操作のロールバック
Perl初学者向け題材案
案A: シンプルなテキストエディタ
| |
- 第1回: 基本的なCommand実装
- 第2回: Mementoで状態保存
- 第3回: スタック管理でUndo/Redo
- 完成品: ミニテキストエディタ
案B: ターン制ゲームのリプレイシステム
| |
- 完成品: チェス/将棋風のゲームと棋譜再生
「自慢できる」ポイント
- 「Ctrl+Z機能を自作した!」
- プロレベルのアプリの中核機能
- 実装の難易度が適度で達成感がある
出典/参考
- MomentsLog: Implementing Undo/Redo with Memento Pattern - https://www.momentslog.com/development/design-pattern/implementing-undo-redo-functionality-with-the-memento-pattern
- GeeksforGeeks: Memento Design Pattern - https://www.geeksforgeeks.org/system-design/memento-design-pattern/
- CodeZup: Command Pattern Tutorial for Undo/Redo - https://codezup.com/command-pattern-tutorial-implementing-undo-redo-functionality/
信頼度
10/10 - Undo/Redoの標準実装パターン。教育的価値が高い。
組み合わせ5: Template Method + Factory Method
相性の理由
- Template Method: アルゴリズムの骨格を定義し、サブクラスが一部をカスタマイズ
- Factory Method: オブジェクト生成をサブクラスに委譲
- 組み合わせの効果: 拡張可能なフレームワーク設計。処理フローは固定、使用するオブジェクトはサブクラスが選択
典型的なユースケース
- ドキュメント処理フレームワーク:
open → parse → exportの流れは固定、パーサー種類(XML/PDF/Markdown)はサブクラスが選択 - テストフレームワーク:
setup → run → teardownの流れで、具体的なテストケースはサブクラスで定義 - レポート生成器:
collect data → format → outputの流れで、フォーマッターをサブクラスで選択
Perl初学者向け題材案
案A: プラグイン対応レポートジェネレーター
| |
- 第1回: Template Methodで処理フロー定義
- 第2回: Factory Methodでフォーマッター切り替え
- 第3回: 新しいフォーマッター追加(Markdown、PDF)
- 完成品: マルチフォーマット対応レポーター
案B: 拡張可能ファイル変換ツール
- Template Method: read → convert → write
- Factory Method: コンバーター選択(Markdown→HTML、YAML→JSON、CSV→SQLなど)
- 完成品: 万能ファイルコンバーター
「自慢できる」ポイント
- 「プラグインシステムを作った!新しいフォーマットをクラス1つで追加できる」
- フレームワーク設計の基本が学べる
- 実用的で拡張性が高い
出典/参考
- MomentsLog: Extensible Framework Development Using Template Method - https://www.momentslog.com/development/web-backend/extensible-framework-development-using-the-template-method-pattern-creating-reusable-components
- GeeksforGeeks: Factory Method Design Pattern - https://www.geeksforgeeks.org/system-design/factory-method-for-designing-pattern/
- Wikipedia: Factory Method Pattern - https://en.wikipedia.org/wiki/Factory_method_pattern
信頼度
9/10 - フレームワーク設計の定石。実装の難易度が適切。
2. 推奨するシリーズ題材案(各組み合わせにつき2案)
題材案1: テキスト処理パイプライン(Decorator + Chain of Responsibility)
シリーズタイトル案
「Perlで作るテキスト処理パイプライン」
使用パターン
- Decorator: 各処理ステップで機能を追加
- Chain of Responsibility: エラーハンドリングと短絡評価
概要
Unix哲学の「小さなツールをパイプでつなぐ」をOOPで実装。自然言語処理(NLP)の前処理を題材に、実用的なテキスト処理ツールを作成。
全体構成(4〜5回):
- 基本パイプライン: 入力→処理→出力
- Decoratorで装飾: Trim、Lowercase、正規化
- Chain of Responsibilityでフィルタリング: ストップワード除去、長さフィルタ
- エラーハンドリングと短絡評価
- 実践: 実際のテキストマイニング
遊び心/ハッキング要素
- 「青空文庫の小説を解析して頻出単語を抽出」
- 「Twitterのようなテキストから感情分析(ポジティブ/ネガティブ)」
- 「暗号文の解読(シーザー暗号→頻度分析)」
USP(独自の強み)
- 実用性: NLPの前処理として実際に使える
- 拡張性: 新しい処理を追加しやすい
- Perlの強み: 正規表現とテキスト処理の得意分野
- 完成品: GitHubで公開できるレベルのツール
題材案2: タスク管理DSL(Interpreter + Composite)
シリーズタイトル案
「Perlで作る自分専用タスクランナー」
使用パターン
- Composite: タスクの依存関係ツリー
- Interpreter: DSLの解釈と実行
概要
rakeやmakeのような宣言的タスクランナーを自作。依存関係を解決し、必要なタスクだけを効率的に実行。
全体構成(4〜5回):
- 基本タスク:
task "name" { ... } - 依存関係:
depends "task1", "task2" - 変数と条件分岐:
if $ENV eq "production" - 並列実行とエラーハンドリング
- 実践: 実際のデプロイスクリプト
遊び心/ハッキング要素
- 「ブログのビルド自動化(Hugo + 画像最適化 + デプロイ)」
- 「ゲーム開発のビルドパイプライン」
- 「毎日のルーチンタスクを自動化」
USP(独自の強み)
- 実用性: 実際のプロジェクトで使える
- 学習価値: DSL設計とインタプリタの仕組みが理解できる
- 拡張性: プラグイン機構で機能追加可能
- 完成品: CPANにアップロードできるレベル
題材案3: カスタマイズ可能な検索エンジン(Builder + Strategy)
シリーズタイトル案
「Perlで作る柔軟な検索システム」
使用パターン
- Builder: 検索クエリの段階的構築
- Strategy: 検索アルゴリズム、ソート戦略、フィルタ戦略の切り替え
概要
ファイルシステムやログファイルを対象に、柔軟な検索システムを構築。検索条件を段階的に組み立て、戦略パターンで検索アルゴリズムを切り替え。
全体構成(4〜5回):
- 基本検索: キーワード検索
- Builderで複雑なクエリ: AND/OR条件、日付範囲
- Strategyで検索アルゴリズム: 完全一致、部分一致、正規表現、あいまい検索
- ソートとランキング: 関連度、日付、名前
- 実践: CPANモジュールのローカル検索
遊び心/ハッキング要素
- 「自分のブログ記事を全文検索」
- 「サーバーログから特定パターンを抽出」
- 「GitHubリポジトリのコード検索」
USP(独自の強み)
- 実用性: 日常的に使えるツール
- 学習価値: 検索エンジンの基礎が学べる
- 拡張性: 新しい戦略を簡単に追加
- 完成品: CLI/Webインターフェース両対応
題材案4: ミニテキストエディタ(Command + Memento)
シリーズタイトル案
「PerlでCtrl+Z機能を実装しよう」
使用パターン
- Command: 編集操作のカプセル化
- Memento: 状態の保存と復元
概要
ターミナルで動くシンプルなテキストエディタを作成。Undo/Redo機能を実装し、プロレベルのアプリ開発を体験。
全体構成(4〜5回):
- 基本エディタ: テキスト表示と編集
- Commandパターン: 操作の履歴化
- Mementoパターン: 状態の保存
- Undo/Redoスタック: 複数回の取り消し
- 応用: マクロ機能、検索置換
遊び心/ハッキング要素
- 「vimやemacsの超シンプル版」
- 「Markdownエディタ(プレビュー付き)」
- 「ゲームのリプレイ機能」
USP(独自の強み)
- 実用性: 実際に使えるエディタ
- 学習価値: 複雑なUIロジックの理解
- 達成感: Ctrl+Zの魔法を自作
- 完成品: CPANモジュール化可能
題材案5: プラグイン対応レポート生成器(Template Method + Factory Method)
シリーズタイトル案
「Perlで作る拡張可能レポート生成ツール」
使用パターン
- Template Method: レポート生成フロー
- Factory Method: フォーマッター選択
概要
ログ解析、統計データ、システムメトリクスなど、様々なデータソースからレポートを生成。プラグイン機構で新しいフォーマットを簡単に追加。
全体構成(4〜5回):
- 基本レポーター: データ収集→出力
- Template Method: 処理フローの固定化
- Factory Method: フォーマッター選択(HTML、Markdown、PDF)
- プラグインシステム: 新フォーマットの追加方法
- 実践: サーバーログレポート、GitHub統計レポート
遊び心/ハッキング要素
- 「GitHubの年間活動レポート(コミット数、PR数、スター数)」
- 「CPANモジュールのダウンロード統計レポート」
- 「個人ブログのアクセス解析レポート」
USP(独自の強み)
- 実用性: 実務でそのまま使える
- 学習価値: フレームワーク設計の基礎
- 拡張性: 新フォーマット追加が容易
- 完成品: 複数のフォーマット出力対応
3. 競合記事分析
主要な競合・参考記事
| カテゴリ | サイト名/記事 | 特徴 | 差別化ポイント |
|---|---|---|---|
| 海外英語 | Refactoring Guru | 視覚的、多言語対応、網羅的 | Perl実装例なし、初学者には難解 |
| GeeksforGeeks | コード例豊富、面接対策向け | Java/Python中心、実践的題材が少ない | |
| DigitalOcean | チュートリアル形式 | 組み合わせパターンの解説が少ない | |
| 日本語 | Qiita(デザインパターンまとめ) | 網羅的、日本語 | 抽象的、Perlでの実装例なし |
| Unity公式ブログ(ゲームパターン) | ゲーム特化、実践的 | ゲーム以外の応用例が少ない | |
| note(Unity C#実践) | 具体的な実装 | Unity/C#特化、汎用性なし |
類似テーマの日本語記事
「Unityで覚えるデザインパターン」(cewigames.com)
- ゲーム開発特化
- State×Strategy、Command×Observer の組み合わせ解説
- 差別化: Perl実装、非ゲーム題材、CLI/自動化特化
「デザインパターン概要まとめ」(Qiita)
- GoF 23パターンの網羅的解説
- 単一パターンのみ
- 差別化: 複数パターン組み合わせ、連載形式、実装重視
「Unity C#で実践!デザインパターン5選」(note)
- 実装コード豊富
- Unity/C#限定
- 差別化: Perl実装、汎用的題材、初学者フレンドリー
差別化ポイント(本シリーズの強み)
1. Perl特化の実装
- CPANエコシステム活用: 既存モジュールとの統合
- MooによるモダンなOOP: Perl v5.36の最新機能
- テキスト処理の強み: 正規表現、パイプライン、CLI自動化
2. 実用的な題材
- 完成品が動く: 理論だけでなく、実際に使えるツール
- 遊び心: 楽しみながら学べる
- 段階的学習: 1記事1概念、徐々に複雑化
3. 連載形式の深掘り
- 第1回: 最小実装(1パターン目)
- 第2回: 2パターン目の追加
- 第3回: 統合と拡張
- 第4回: 実践応用
- 第5回: まとめと発展
4. 初学者フレンドリー
- 前提知識: Perl入学式卒業レベル
- 段階的複雑化: 急な難易度上昇を避ける
- 豊富なコメント: コードの意図を明確化
- テストコード: 動作確認の方法を示す
4. 内部リンク候補
既存シリーズとの関連
| 既存記事 | パターン | 関連する組み合わせ企画 | リンク方法 |
|---|---|---|---|
| SQLクエリビルダー(Builder) | Builder | Builder + Strategy | 「Builderパターンの応用として…」 |
| Singleton実装記事 | Singleton | Factory + Singleton | 「Singletonと組み合わせる場合…」 |
| Observer実装記事 | Observer | Mediator + Observer | 「Observerと相性の良いMediatorパターン」 |
| Command実装記事 | Command | Command + Memento | 「Undo/Redo実装ではMementoと組み合わせる」 |
| Composite実装記事 | Composite | Interpreter + Composite | 「Compositeで構文木を構築し…」 |
| Decorator実装記事 | Decorator | Decorator + Chain of Responsibility | 「Decoratorの発展形としてミドルウェアパイプライン」 |
シリーズ内の相互リンク
- 基礎編へのリンク: 各パターンの単独記事
- 応用編へのリンク: 3パターン以上の組み合わせ
- 実践編へのリンク: 実際のプロジェクトでの活用例
外部リンク戦略
- GoF原典: 理論的背景
- CPAN関連モジュール: 実装の参考
- GitHub実装例: 他言語での実装
- 学術論文: 高度な応用例
5. 技術的実装の考慮事項
Perl v5.36 以降の機能活用
| |
Mooのベストプラクティス
- 型制約:
Types::Standardの活用 - ロール: 共通機能の抽象化
- 遅延評価:
lazy => 1の適切な使用 - イミュータブル:
is => 'ro'を基本とする
テストの重要性
| |
6. シリーズ展開の戦略
フェーズ1: 基礎固め(2パターン組み合わせ)
- 目標: 各組み合わせを深く理解
- 記事数: 5シリーズ × 4〜5回 = 20〜25記事
- 期間: 約6ヶ月
フェーズ2: 応用展開(3パターン以上)
- 目標: 実践的なアーキテクチャ設計
- 例: MVC(Observer + Composite + Strategy)、CQRS(Command + Memento + Observer)
- 記事数: 3〜5シリーズ
- 期間: 約3ヶ月
フェーズ3: 実践プロジェクト
- 目標: 本格的なアプリケーション開発
- 例: ブログエンジン、タスク管理ツール、ログ解析システム
- 記事数: 1〜2シリーズ(長編)
- 期間: 約3ヶ月
7. 推奨する最初のシリーズ
第1候補: テキスト処理パイプライン(Decorator + Chain of Responsibility)
理由
- Perlの強み: テキスト処理はPerlの得意分野
- 実用性: 即座に使える完成品
- 学習曲線: 適度な難易度、段階的に複雑化
- 遊び心: 暗号解読、感情分析など面白い応用
- 完成品の見栄え: デモがわかりやすい
タイトル案
「Perlで作るテキスト処理パイプライン 〜Unix哲学をOOPで実装〜」
記事構成(全5回)
第1回: パイプラインの基礎
- 単純なテキスト加工
- 1つのDecoratorの実装
- 出力: “Hello World” → “hello world”
第2回: 複数のDecoratorを連結
- Trim、Lowercase、Normalize
- パイプラインパターンの実装
- 出力: " HELLO World! " → “hello world”
第3回: Chain of Responsibilityでフィルタリング
- 条件によって処理を停止
- ストップワード除去
- 出力: 不要な単語を除去
第4回: エラーハンドリングと短絡評価
- 例外処理
- ログ出力
- 出力: エラー時に適切に停止
第5回: 実践 - 青空文庫の解析
- 実際の小説から頻出単語を抽出
- グラフ化(Text::ASCIITableなど)
- 出力: 美しいレポート
8. 次点候補
第2候補: タスク管理DSL(Interpreter + Composite)
強み:
- 独自言語の作成という魅力
- 実用的なツール
- コンパイラ/インタプリタの理解
懸念:
- パーサー実装の複雑さ
- 初学者にはやや難しい
第3候補: カスタマイズ可能検索エンジン(Builder + Strategy)
強み:
- 検索エンジンの仕組みを学べる
- 拡張性が高い
- 実用的
懸念:
- 検索アルゴリズムの説明が必要
- インデックス構築など追加知識が必要
9. まとめと提案
最終推奨
シリーズ1: テキスト処理パイプライン(Decorator + Chain of Responsibility)
- 最もPerl向き
- 実用性と楽しさのバランス
- 完成品のデモが映える
シリーズ2: ミニテキストエディタ(Command + Memento)
- Undo/Redoの実装は教育的価値が高い
- 達成感がある
- やや難易度が高いため2番目に
シリーズ3: タスク管理DSL(Interpreter + Composite)
- DSL作成の魅力
- 実用性が高い
- 長期シリーズとして展開
実装の優先順位
- 第1候補の詳細設計: テキスト処理パイプライン
- サンプルコードの作成: 動作するプロトタイプ
- テストコードの整備: 品質保証
- 記事執筆: 第1回から順次公開
成功の指標
- 読者のエンゲージメント: コメント数、シェア数
- 完成品の公開: GitHubスター数
- CPAN化: モジュールとして公開されたか
- 実務での活用: 実際のプロジェクトで使われたか
10. 参考文献・出典一覧
パターン組み合わせ関連
- JavaTechOnline: When to Use Which Design Pattern - https://javatechonline.com/when-to-use-which-design-pattern-23-gof-pattern/
- TheMorningDev: Mastering the GoF Design Patterns - https://themorningdev.com/software-architecture-design/gang-of-four-design-patterns/
- GitHub Gist: GoF patterns primer with refactor examples - https://gist.github.com/MuhammadYossry/0faa8565d08ec1823dab3d4e6294aff7
Builder + Strategy
- GeeksforGeeks: Builder Design Pattern - https://www.geeksforgeeks.org/system-design/builder-design-pattern/
- BuildOnline: Mastering Strategy Patterns - https://www.buildonline.io/blog/mastering-strategy-patterns-build-scalable-and-flexible-architectures
- MomentsLog: Builder Pattern in Complex System Configuration - https://www.momentslog.com/development/design-pattern/the-builder-pattern-in-complex-system-configuration-for-flexible-setup
Interpreter + Composite
- GeeksforGeeks: Interpreter Design Pattern - https://www.geeksforgeeks.org/system-design/interpreter-design-pattern/
- DeepWiki: Interpreter Pattern in DSLs - https://deepwiki.com/tusharjoshi/design-patterns-workshop/4.3.4-interpreter-pattern
- MomentsLog: Interpreter Pattern in Custom DSLs - https://www.momentslog.com/development/design-pattern/the-interpreter-pattern-in-custom-domain-specific-languages-for-specialized-parsing
Decorator + Chain of Responsibility
- Baeldung: Pipeline Design Pattern in Java - https://www.baeldung.com/java-pipeline-design-pattern
- StackOverflow: Chain of Responsibility vs Decorator - https://stackoverflow.com/questions/3721256/design-patterns-chain-of-resposibility-vs-decorator
- Ajit Singh: Chain of Responsibility Design Pattern - https://singhajit.com/design-patterns/chain-of-responsibility/
- Code Maze: Chain of Responsibility in C# - https://code-maze.com/csharp-chain-of-responsibility-design-pattern/
Command + Memento
- MomentsLog: Implementing Undo/Redo with Memento - https://www.momentslog.com/development/design-pattern/implementing-undo-redo-functionality-with-the-memento-pattern
- GeeksforGeeks: Memento Design Pattern - https://www.geeksforgeeks.org/system-design/memento-design-pattern/
- CodeZup: Command Pattern Tutorial for Undo/Redo - https://codezup.com/command-pattern-tutorial-implementing-undo-redo-functionality/
- GitHub: Memento Behavioral Design Pattern - https://github.com/Hamsini-1223/Memento-Behavioral-Design-Pattern
Template Method + Factory Method
- MomentsLog: Extensible Framework Development Using Template Method - https://www.momentslog.com/development/web-backend/extensible-framework-development-using-the-template-method-pattern-creating-reusable-components
- GeeksforGeeks: Factory Method Design Pattern - https://www.geeksforgeeks.org/system-design/factory-method-for-designing-pattern/
- Wikipedia: Factory Method Pattern - https://en.wikipedia.org/wiki/Factory_method_pattern
- Refactoring Guru: Factory Method - https://refactoring.guru/design-patterns/factory-method
ゲーム開発・自動化
- cewigames: Unityで覚えるデザインパターン - https://cewigames.com/1051/
- note: Unity C#で実践!デザインパターン5選 - https://note.com/ryuryu_game/n/nc5b679e4635c
- Unity公式: ゲームプログラミングパターンでコードをレベルアップ - https://unity.com/ja/blog/games/level-up-your-code-with-game-programming-patterns
- elekibear: 基本のデザインパターン36種類を簡単に整理 - https://elekibear.com/post/20220219_01
その他参考文献
- Qiita: デザインパターンの概要まとめ - https://qiita.com/nozomi2025/items/5a1fdb34fbf38644db17
- Refactoring Guru: Design Patterns - https://refactoring.guru/design-patterns
- DigitalOcean: Gang of Four Design Patterns - https://www.digitalocean.com/community/tutorials/gangs-of-four-gof-design-patterns
調査完了日: 2026年1月24日
次のアクション: 第1候補「テキスト処理パイプライン」の詳細設計とプロトタイプ実装