@nqounetです。
「Mooを使って自動販売機シミュレーターを作ってみよう」シリーズの目次です。
このシリーズについて
このシリーズでは、自動販売機の動作をPerlでシミュレートしながら、オブジェクト指向プログラミングの考え方を深く学びます。
最初はシンプルなif/elseで状態を管理する実装から始め、機能追加に伴う問題を体験し、最終的にはStateパターンと呼ばれるデザインパターンに到達します。
対象読者
- Perl入学式を卒業したばかりの方
- 「Mooで覚えるオブジェクト指向プログラミング」シリーズを読了した方
- モダンなPerlでオブジェクト指向プログラミングを実践したい方
技術スタック
- Perl v5.36以降(signatures対応)
- Mooによるオブジェクト指向プログラミング
各回の内容
第1回〜第2回:問題の発見
第3回〜第4回:状態をクラスに分離
第5回〜第6回:Contextと状態遷移
第7回〜第8回:型チェックと機能追加
第9回〜第10回:統合とパターン解説
学習のポイント
| 回 | 学ぶこと |
|---|---|
| 第1回 | if/elseでの状態管理 |
| 第2回 | if/elseの肥大化問題 |
| 第3回 | 状態ごとのクラス分離(単一責任の原則) |
| 第4回 | Moo::Roleでインターフェース定義 |
| 第5回 | Contextクラスと委譲 |
| 第6回 | StateがContextへの参照を持つ状態遷移 |
| 第7回 | isaによる型チェック |
| 第8回 | 新しい状態の追加(OCP) |
| 第9回 | 統合と完成 |
| 第10回 | Stateパターンの構造とStrategyパターンとの比較 |
関連シリーズ
ぜひ順番に読んで、Stateパターンを自然に身につけてください!
