パースした要素をHTMLに変換しようとすると、if/elseの条件分岐が爆発的に増えてしまいます。この問題を体験し、解決策を模索しましょう。
Heading、Paragraph、CodeBlockクラスを作成し、Markdownの様々な要素を適切に表現できるようにします。継承を使った要素クラスの分離を学びましょう。
Markdownをパースして段落要素を作成するツールを作ります。Elementクラスを使って、テキストをオブジェクトとして扱う基本を学びましょう。
PerlとMooでBridgeパターンを学ぶ実践連載の目次ページです。ローグライク風ダンジョン自動生成エンジンを作りながら、抽象と実装の分離、クラス爆発回避の設計技法を習得します。
Bridgeパターンの設計を総括し、AdapterやStrategyとの違いを明確化。Perlによる GoF パターン実装のベストプラクティスと、実務での応用例をまとめます。
部屋区分型(BSP)アルゴリズムを追加し、Implementor側の独立した拡張を体験。全9パターンの組み合わせをテストし、Bridgeパターンの拡張性を実証します。
水中神殿テーマを1クラスで追加し、Open/Closed原則を体感。既存コードを変更せずに機能拡張できる設計の美しさを学びます。Perl MooによるSOLID原則の実践例。
Bridgeパターンで生成アルゴリズムとテーマを分離。PerlとMooを使った委譲の実装により、9クラス→6クラスへの劇的削減を実現。抽象と実装の分離設計を習得します。
城や遺跡のテーマを追加しようとすると9クラス必要に。クラス爆発問題(アンチパターン)を実際に体験し、なぜBridgeパターンが必要なのかを痛感します。保守困難なコードの典型例を解説。
ダンジョン生成アルゴリズムを拡張し、迷路型ダンジョンを追加。コードの重複問題に直面しながら、複数アルゴリズムへの対応課題を体験します。Perlクラス設計の改善点を学習。
PerlとMooで初めてのダンジョンを生成。二次元配列とASCII artを使った洞窟ダンジョンの描画方法を学び、ローグライク風のマップを自動生成する基礎を習得します。
Abstract Factoryパターンで学ぶ製品ファミリの一貫性。ECサイトの注文フローを題材に、国内・海外・EU市場対応を設計し、パターンの適用判断まで解説します
Perlで作る注文フローの国別キット第8回(最終回)。返品処理を追加すると全Factoryの改修が必要になる問題を検証し、Abstract Factoryパターンの適用判断基準を明らかにします
Perlで作る注文フローの国別キット第7回。EU市場を追加し、既存のOrderProcessorやFactoryを変更せずに拡張できることを確認します
Perlで作る注文フローの国別キット第6回。OrderProcessorクラスをFactory依存に変更し、依存性注入(DI)で柔軟な設計を実現します