Tags
413 ページ目
Moo
429レート制限のシナリオを足す。既存のコードは1行も書き換えず、新しいクラスを足すだけで済む【オープン・クローズドの原則】
ログ出力と処理時間の計測がシナリオごとにコピペされる。共通の送信フローを基底クラスに集める【共通処理の集約】
シナリオごとに専用のレスポンスを返したい。create_response をサブクラスでオーバーライドする【オーバーライド】
レスポンスのクラスごとに render の有無がばらばら。Moo::Role で必須メソッドを決める【Moo::Role】
if/elseだらけの偽APIを、シナリオごとのクラスに分ける。継承で成功と404を独立させる【継承で分離】
偽APIにエラーレスポンスを足したら、メソッドが if/else だらけになる。分岐が増える限界を確かめる【if/elseの肥大化】
PerlとMooで偽APIを作る。成功レスポンスだけ返すミニAPIで、ResponseクラスとMockApiクラスの土台を置く【最小構成】
Perlのnew()の限界からclone()、深いコピーを経てPrototypeパターンにたどり着くモンスター量産の全6回【目次】
clone() で量産してきた仕組みは、GoF の Prototype パターンだった。Factory Method との違い【Prototype】
浅いコピーでドラゴンの武器が共有される問題を、Storable::dclone() の深いコピーで直す【Deep Copy】
clone() したドラゴンの武器を書き換えたら、元のドラゴンの武器も変わった。浅いコピーの罠【Shallow Copy】
clone() したスライムの色だけ変えて、赤・青・金の色違いを量産する。強化版も作れる【clone】
Moo のスライムを MooX::Clone の clone() で複製すると、30行が3行になる【clone】
Moo で同じスライムを10体作ると、new() の属性指定だけで30行以上になる【コンストラクタ】
ログも実績もサウンドも足すたびに攻撃処理が膨らむPerlのローグライクを、Mooで通知の仕組みに分けてObserverパターンにたどり着く全10回【目次】
1
…
18
19
20
…
28