セクション
1543 ページ目
Posts
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 のオーバーライドで確かめる
if/else をやめて、月次と週次のジェネレーターを extends で分ける【継承】
MonthlyReport と WeeklyReport に共通ルールを持たせる。Moo::Role の requires で実装漏れを検出する
週次レポートを足したら create_report が if/else だらけになった。種別が増えるほど修正が増える問題【開放閉鎖原則】
月次レポートを返す ReportGenerator を Moo で書く。生成を create_report メソッドに任せる最初の土台【Perl入門】
if文で書いたPerlの決済審査を、審査ごとのMooクラスに分けてChain of Responsibilityにたどり着く全3回【目次】
審査条件を1つ足すたびに既存コードを触りたくない。審査をクラスに分けて鎖でつなぐ【Chain of Responsibility】
審査条件を5つに増やしたら、if文のネストが5段になった。早期リターンで直しても残る問題【コードの臭い】
1
…
32
33
34
…
103