Tags
413 ページ目
Moo
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段になった。早期リターンで直しても残る問題【コードの臭い】
カード決済の審査を、金額上限10万円と有効期限の2条件でif文から書く【早期リターン】
if/elseで状態を切り替えていたPerlの自動販売機を、状態ごとのMooクラスに分けてStateパターンにたどり着く全10回【目次】
作ってきた自動販売機はStateパターンだった。Strategyパターンとは、誰が切り替えるかが違う【State】
4つの状態クラスをまとめて、c・s・d・qのコマンドで動かせる自動販売機に仕上げる【完成】
在庫が尽きたら「売り切れ」へ。VendingMachineには手を入れず、状態クラスを1つ足す【OCP】
stateに文字列を入れてもエラーにならない。Mooのisaで、ロールを持つオブジェクトだけを受け付ける【isa】
状態クラスから在庫が見えない。メソッドにVendingMachineを渡して、遷移先を状態クラス自身に決めさせる【状態遷移】
状態オブジェクトを付け替える仕事を、VendingMachineクラスに引き取らせる【Context】
1
…
21
22
23
…
28