Tags
413 ページ目
Moo
セーブスロットを3つ使い分けたい。スロットを選んでセーブ・ロードできるようにする【セーブスロット】
セーブデータを外から書き換えられると、ゲームの前提が崩れる。読み取り専用の属性で守る【カプセル化】
セーブし忘れると、ボス戦に負けた時に戻る先がない。ボス戦前とエリア移動で自動セーブする【オートセーブ】
セーブデータを1つしか持てない。複数のセーブを出し入れするGameManagerを作る【履歴管理】
保存した状態に戻したい。スナップショットからPlayerを復元して、セーブ→ダメージ→ロードを動かす【復元】
保存後の変更に巻き込まれない保存がしたい。状態を不変のオブジェクトにまとめる【スナップショット】
ゲームオーバーで最初からやり直しになる。変数にコピーして保存すると、保存した状態まで書き換わる【浅いコピー】
PerlとMooでRPGのPlayerクラスを作る。HP・所持金・位置を持たせて移動と戦闘を動かす【Playerクラス】
Perl と Moo で、月次レポートの生成コードを継承とオーバーライドで組み直して Factory Method パターンにたどり着く全10回【目次】
ここまで作った継承とオーバーライドは Factory Method パターンだった。Strategy パターンとの違いも
月次・週次・日次・四半期の4種類を作れるレポートジェネレーターの完成コードを通して読む
四半期レポートを足すとき、既存のクラスを1行も直さない。開放閉鎖原則を実際に確かめる
create_report が別のオブジェクトを返したら、すぐ気づける形にする。does で ReportRole を持つか戻り値を検査する
レポートの生成→表示→保存を、基底クラスの generate_and_save にまとめる。サブクラスは create_report だけ書く
日次レポートを足すのに既存コードを触らずに済むか。create_report のオーバーライドで確かめる
1
…
20
21
22
…
28