Avatar

設計パターンを疑え

名前の嘘を暴き、意図で設計を語る

  1. Home
  2. About
  3. Perl Advent Calendar 2025 - AI Edition
  4. Archives
  5. Search
  6. Links
  7. Warehouse
    1. ダークモード

アーカイブ

2026 241
2025 85
2024 1
2023 1
2022 1
さらに見る

タグ

Perl Moo Life Social Design-Patterns Web Movabletype Mojolicious Favorites Series-Toc Yapc Ai Git Game Perl-Entrance Jquery Meals Kansaipm Programming Copilot
Featured image of post 【目次】PerlとMooでドキュメント変換ツールを作ってみよう(全8回)

【目次】PerlとMooでドキュメント変換ツールを作ってみよう(全8回)

PerlとMooでドキュメント変換ツールを作りながらVisitorパターンを学ぶシリーズの目次です。if/elseの限界からDouble Dispatch、OCPの体験まで、全8回で実践的に学びます。

1月 27, 2026
読了時間: 2分
Featured image of post 第8回-これがVisitorパターンだ! - PerlとMooでドキュメント変換ツールを作ってみよう

第8回-これがVisitorパターンだ! - PerlとMooでドキュメント変換ツールを作ってみよう

シリーズで作り上げた設計がVisitorパターンだったことを明かし、パターンの正式な定義と構成要素を解説します。Double Dispatchの本質、パターンが威力を発揮する場面、そしてSOLID原則との関係を理解しましょう。

1月 27, 2026
読了時間: 7分
Featured image of post 第7回-単語数カウントとリンク抽出を追加しよう - PerlとMooでドキュメント変換ツールを作ってみよう

第7回-単語数カウントとリンク抽出を追加しよう - PerlとMooでドキュメント変換ツールを作ってみよう

単語数をカウントするWordCounterと、リンクを抽出するLinkExtractorを追加します。変換だけでなく分析系の操作も同じ仕組みで実現でき、複数のVisitorが共存できることを確認しましょう。

1月 27, 2026
読了時間: 6分
Featured image of post 第6回-プレーンテキスト変換を追加してみよう - PerlとMooでドキュメント変換ツールを作ってみよう

第6回-プレーンテキスト変換を追加してみよう - PerlとMooでドキュメント変換ツールを作ってみよう

新しい出力形式「プレーンテキスト」を追加します。TextConverterを作成するだけで、既存のコードを変更せずに機能拡張できることを体験しましょう。OCP(開放閉鎖の原則)の実践です。

1月 27, 2026
読了時間: 5分
Featured image of post 第5回-要素が自分の変換方法を決める? - PerlとMooでドキュメント変換ツールを作ってみよう

第5回-要素が自分の変換方法を決める? - PerlとMooでドキュメント変換ツールを作ってみよう

if/elseを完全に排除するため、acceptメソッドとvisit_*メソッドによる「Double Dispatch(二重ディスパッチ)」の仕組みを導入します。要素自身が変換方法を決める設計を学びましょう。

1月 27, 2026
読了時間: 6分
Featured image of post 第4回-変換処理を別クラスに分けよう - PerlとMooでドキュメント変換ツールを作ってみよう

第4回-変換処理を別クラスに分けよう - PerlとMooでドキュメント変換ツールを作ってみよう

if/elseの地獄を脱出するため、変換処理を別のクラスに分離します。ConverterクラスとHtmlConverterを作り、処理を委譲する設計を学びましょう。

1月 27, 2026
読了時間: 5分
Featured image of post 第3回-HTML変換を追加したい!if/elseの限界 - PerlとMooでドキュメント変換ツールを作ってみよう

第3回-HTML変換を追加したい!if/elseの限界 - PerlとMooでドキュメント変換ツールを作ってみよう

パースした要素をHTMLに変換しようとすると、if/elseの条件分岐が爆発的に増えてしまいます。この問題を体験し、解決策を模索しましょう。

1月 27, 2026
読了時間: 6分
Featured image of post 第2回-見出しやコードブロックも表現しよう - PerlとMooでドキュメント変換ツールを作ってみよう

第2回-見出しやコードブロックも表現しよう - PerlとMooでドキュメント変換ツールを作ってみよう

Heading、Paragraph、CodeBlockクラスを作成し、Markdownの様々な要素を適切に表現できるようにします。継承を使った要素クラスの分離を学びましょう。

1月 27, 2026
読了時間: 6分
Featured image of post 第1回-Markdownを読み込むツールを作ろう - PerlとMooでドキュメント変換ツールを作ってみよう

第1回-Markdownを読み込むツールを作ろう - PerlとMooでドキュメント変換ツールを作ってみよう

Markdownをパースして段落要素を作成するツールを作ります。Elementクラスを使って、テキストをオブジェクトとして扱う基本を学びましょう。

1月 27, 2026
読了時間: 4分
Featured image of post 【目次】PerlとMooで作るランダムダンジョンジェネレーター(全7回)
Tech

【目次】PerlとMooで作るランダムダンジョンジェネレーター(全7回)

PerlとMooでBridgeパターンを学ぶ実践連載の目次ページです。ローグライク風ダンジョン自動生成エンジンを作りながら、抽象と実装の分離、クラス爆発回避の設計技法を習得します。

1月 26, 2026
読了時間: 2分
Featured image of post Bridgeパターンの設計を振り返る - Perl GoFパターン実践まとめ【第7回】
Tech

Bridgeパターンの設計を振り返る - Perl GoFパターン実践まとめ【第7回】

Bridgeパターンの設計を総括し、AdapterやStrategyとの違いを明確化。Perlによる GoF パターン実装のベストプラクティスと、実務での応用例をまとめます。

1月 26, 2026
読了時間: 5分
Featured image of post 部屋区分型アルゴリズムを簡単追加 - Perlダンジョン生成の拡張性【第6回】
Tech

部屋区分型アルゴリズムを簡単追加 - Perlダンジョン生成の拡張性【第6回】

部屋区分型(BSP)アルゴリズムを追加し、Implementor側の独立した拡張を体験。全9パターンの組み合わせをテストし、Bridgeパターンの拡張性を実証します。

1月 26, 2026
読了時間: 6分
Featured image of post 新テーマを1クラスで追加 - Perl拡張性とOpen/Closed原則の実践【第5回】
Tech

新テーマを1クラスで追加 - Perl拡張性とOpen/Closed原則の実践【第5回】

水中神殿テーマを1クラスで追加し、Open/Closed原則を体感。既存コードを変更せずに機能拡張できる設計の美しさを学びます。Perl MooによるSOLID原則の実践例。

1月 26, 2026
読了時間: 4分
Featured image of post アルゴリズムとテーマを分離する - Perl Bridgeパターンによる設計改善【第4回】
Tech

アルゴリズムとテーマを分離する - Perl Bridgeパターンによる設計改善【第4回】

Bridgeパターンで生成アルゴリズムとテーマを分離。PerlとMooを使った委譲の実装により、9クラス→6クラスへの劇的削減を実現。抽象と実装の分離設計を習得します。

1月 26, 2026
読了時間: 7分
Featured image of post テーマを変えたらクラスが爆発 - Perlアンチパターンとクラス設計の落とし穴【第3回】
Tech

テーマを変えたらクラスが爆発 - Perlアンチパターンとクラス設計の落とし穴【第3回】

城や遺跡のテーマを追加しようとすると9クラス必要に。クラス爆発問題(アンチパターン)を実際に体験し、なぜBridgeパターンが必要なのかを痛感します。保守困難なコードの典型例を解説。

1月 26, 2026
読了時間: 5分
1 2 … 80
© 2000 - 2026 設計パターンを疑え
Hugo で構築されています。
テーマ Stack は Jimmy によって設計されています。