@nqounetです。
「PerlとMooでレポートジェネレーターを作ってみよう」シリーズの目次です。
シリーズ概要
このシリーズでは、月次・週次などのレポートを生成する「レポートジェネレーター」を作成しながら、オブジェクト指向プログラミングの核心(継承、ポリモーフィズム)を学びます。
最初は単純なクラスから始め、機能追加によるコードの肥大化(if/else地獄)を経験し、それを継承とオーバーライドを使ってエレガントに解決していきます。
最終的には、作ったシステムがFactory Methodパターンであることを明かし、GoFデザインパターンの深い理解へと繋げます。
対象読者
- Perl入学式を卒業したばかりの方
- 「Mooで覚えるオブジェクト指向プログラミング」シリーズを読んだ方
- if/elseだらけのコードをきれいにしたい方 (Refactoring)
- デザインパターン(特にFactory Method)を学びたい方
目次
第1回 レポート生成クラスを作ろう
基本的なクラス作成とオブジェクト生成の復習です。
第2回 週次レポートも作りたい!if/elseの限界
機能追加でコードが複雑になる問題を体験します。
第3回 extendsでジェネレーターを分けよう
継承を使ってクラスを分割し、問題を解決する準備をします。
第4回 Moo::Roleで共通ルールを決めよう
インターフェース(Role)を定義して、設計を強固にします。
第5回 メソッドをオーバーライドしよう
親クラスのメソッドを上書きして、振る舞いを変えます。
第6回 基底クラスに共通処理を集めよう
共通部分を親クラスにまとめ、コードの重複をなくします。
第7回 isaで型を保証しよう
型チェックを入れて、バグを未然に防ぎます。
第8回 新種別を追加して拡張性を確認しよう
既存コードを修正せずに機能追加できる「開放閉鎖原則」を体験します。
第9回 完成!レポートジェネレーター
全ての機能を統合して、システムを完成させます。
第10回 これがFactory Methodパターンだ!
作成した設計がデザインパターンであることを学びます。
このシリーズを通して、継承とオーバーライドの実践的な使い方をマスターしましょう!
